/*  [ExtAPI.cpp] The actual database of external functions
 *  v. 005, 2008-08-08
 *------------------------------------------------------------------------------
 */

/*
 * Modified by Yulei Sui 2013
 */

#include "Util/ExtAPI.h"
#include <stdio.h>

using namespace std;

ExtAPI* ExtAPI::extAPI = NULL;

struct ei_pair {
	const char *n;
	ExtAPI::extf_t t;
};

//Each (name, type) pair will be inserted into the map.
//All entries of the same type must occur together (for error detection).
static const ei_pair ei_pairs[]= {
	//The current llvm-gcc puts in the \01.
	{"\01creat64", ExtAPI::EFT_NOOP},
	{"\01fseeko64", ExtAPI::EFT_NOOP},
	{"\01fstat64", ExtAPI::EFT_NOOP},
	{"\01fstatvfs64", ExtAPI::EFT_NOOP},
	{"\01ftello64", ExtAPI::EFT_NOOP},
	{"\01getrlimit64", ExtAPI::EFT_NOOP},
	{"\01lstat64", ExtAPI::EFT_NOOP},
	{"\01open64", ExtAPI::EFT_NOOP},
	{"\01stat64", ExtAPI::EFT_NOOP},
	{"\01statvfs64", ExtAPI::EFT_NOOP},
	{"Gpm_GetEvent", ExtAPI::EFT_NOOP},
	{"Gpm_Open", ExtAPI::EFT_NOOP},
	{"RAND_seed", ExtAPI::EFT_NOOP},
	{"SSL_CTX_set_default_verify_paths", ExtAPI::EFT_NOOP},
	{"SSL_get_error", ExtAPI::EFT_NOOP},
	{"SSL_get_fd", ExtAPI::EFT_NOOP},
	{"SSL_pending", ExtAPI::EFT_NOOP},
	{"SSL_read", ExtAPI::EFT_NOOP},
	{"SSL_set_bio", ExtAPI::EFT_NOOP},
	{"SSL_set_connect_state", ExtAPI::EFT_NOOP},
	{"SSL_shutdown", ExtAPI::EFT_NOOP},
	{"SSL_state", ExtAPI::EFT_NOOP},
	{"SSL_write", ExtAPI::EFT_NOOP},
	{"Void_FreeCore", ExtAPI::EFT_NOOP},
	{"X509_STORE_CTX_get_error", ExtAPI::EFT_NOOP},
	{"XAllocColor", ExtAPI::EFT_NOOP},
	{"XCloseDisplay", ExtAPI::EFT_NOOP},
	{"XCopyArea", ExtAPI::EFT_NOOP},
	{"XCreateColormap", ExtAPI::EFT_NOOP},
	{"XCreatePixmap", ExtAPI::EFT_NOOP},
	{"XCreateWindow", ExtAPI::EFT_NOOP},
	{"XDrawPoint", ExtAPI::EFT_NOOP},
	{"XDrawString", ExtAPI::EFT_NOOP},
	{"XDrawText", ExtAPI::EFT_NOOP},
	{"XFillRectangle", ExtAPI::EFT_NOOP},
	{"XFillRectangles", ExtAPI::EFT_NOOP},
	{"XFree", ExtAPI::EFT_NOOP},
	{"XFreeColormap", ExtAPI::EFT_NOOP},
	{"XFreeColors", ExtAPI::EFT_NOOP},
	{"XFreeFont", ExtAPI::EFT_NOOP},
	{"XFreeFontNames", ExtAPI::EFT_NOOP},
	{"XFreeGC", ExtAPI::EFT_NOOP},
	{"XFreePixmap", ExtAPI::EFT_NOOP},
	{"XGetGCValues", ExtAPI::EFT_NOOP},
	{"XGetGeometry", ExtAPI::EFT_NOOP},
	{"XInternAtom", ExtAPI::EFT_NOOP},
	{"XMapWindow", ExtAPI::EFT_NOOP},
	{"XNextEvent", ExtAPI::EFT_NOOP},
	{"XPutImage", ExtAPI::EFT_NOOP},
	{"XQueryColor", ExtAPI::EFT_NOOP},
	{"XResizeWindow", ExtAPI::EFT_NOOP},
	{"XSelectInput", ExtAPI::EFT_NOOP},
	{"XSendEvent", ExtAPI::EFT_NOOP},
	{"XSetBackground", ExtAPI::EFT_NOOP},
	{"XSetClipMask", ExtAPI::EFT_NOOP},
	{"XSetClipOrigin", ExtAPI::EFT_NOOP},
	{"XSetFillStyle", ExtAPI::EFT_NOOP},
	{"XSetFont", ExtAPI::EFT_NOOP},
	{"XSetForeground", ExtAPI::EFT_NOOP},
	{"XSetFunction", ExtAPI::EFT_NOOP},
	{"XSetGraphicsExposures", ExtAPI::EFT_NOOP},
	{"XSetLineAttributes", ExtAPI::EFT_NOOP},
	{"XSetTile", ExtAPI::EFT_NOOP},
	{"XSetWMHints", ExtAPI::EFT_NOOP},
	{"XSetWMNormalHints", ExtAPI::EFT_NOOP},
	{"XSetWindowBackgroundPixmap", ExtAPI::EFT_NOOP},
	{"XStoreName", ExtAPI::EFT_NOOP},
	{"XSync", ExtAPI::EFT_NOOP},
	{"XVisualIDFromVisual", ExtAPI::EFT_NOOP},
	{"XWMGeometry", ExtAPI::EFT_NOOP},
	{"XtAppSetFallbackResources", ExtAPI::EFT_NOOP},
	{"XtCloseDisplay", ExtAPI::EFT_NOOP},
	{"XtDestroyApplicationContext", ExtAPI::EFT_NOOP},
	{"XtDestroyWidget", ExtAPI::EFT_NOOP},
	{"_IO_getc", ExtAPI::EFT_NOOP},
	{"_IO_putc", ExtAPI::EFT_NOOP},
	{"__assert_fail", ExtAPI::EFT_NOOP},
	{"__dn_expand", ExtAPI::EFT_NOOP},
	{"__dn_skipname", ExtAPI::EFT_NOOP},
	{"__res_nclose", ExtAPI::EFT_NOOP},
	{"__res_ninit", ExtAPI::EFT_NOOP},
	{"__res_nmkquery", ExtAPI::EFT_NOOP},
	{"__res_nsend", ExtAPI::EFT_NOOP},
	{"__res_query", ExtAPI::EFT_NOOP},
	{"__res_querydomain", ExtAPI::EFT_NOOP},
	{"__res_search", ExtAPI::EFT_NOOP},
	{"__sigsetjmp", ExtAPI::EFT_NOOP},
	{"_obstack_begin", ExtAPI::EFT_NOOP},
	{"_obstack_memory_used", ExtAPI::EFT_NOOP},
	{"_obstack_newchunk", ExtAPI::EFT_NOOP},
	{"_setjmp", ExtAPI::EFT_NOOP},
	{"accept", ExtAPI::EFT_NOOP},
	{"access", ExtAPI::EFT_NOOP},
	{"asprintf", ExtAPI::EFT_NOOP},
	{"atexit", ExtAPI::EFT_NOOP},
	{"atof", ExtAPI::EFT_NOOP},
	{"atoi", ExtAPI::EFT_NOOP},
	{"atol", ExtAPI::EFT_NOOP},
	{"bind", ExtAPI::EFT_NOOP},
	{"cfgetospeed", ExtAPI::EFT_NOOP},
	{"cfsetispeed", ExtAPI::EFT_NOOP},
	{"cfsetospeed", ExtAPI::EFT_NOOP},
	{"chdir", ExtAPI::EFT_NOOP},
	{"chmod", ExtAPI::EFT_NOOP},
	{"chown", ExtAPI::EFT_NOOP},
	{"chroot", ExtAPI::EFT_NOOP},
	{"clearerr", ExtAPI::EFT_NOOP},
	{"clearok", ExtAPI::EFT_NOOP},
	{"closedir", ExtAPI::EFT_NOOP},
	{"compress2", ExtAPI::EFT_NOOP},
	{"confstr", ExtAPI::EFT_NOOP},
	{"connect", ExtAPI::EFT_NOOP},
	{"crc32", ExtAPI::EFT_NOOP},
	{"creat", ExtAPI::EFT_NOOP},
	{"creat64", ExtAPI::EFT_NOOP},
	{"deflate", ExtAPI::EFT_NOOP},
	{"deflateEnd", ExtAPI::EFT_NOOP},
	{"deflateInit2_", ExtAPI::EFT_NOOP},
	{"deflateReset", ExtAPI::EFT_NOOP},
	{"delwin", ExtAPI::EFT_NOOP},
	{"dladdr", ExtAPI::EFT_NOOP},
	{"dlclose", ExtAPI::EFT_NOOP},
	{"execl", ExtAPI::EFT_NOOP},
	{"execle", ExtAPI::EFT_NOOP},
	{"execlp", ExtAPI::EFT_NOOP},
	{"execv", ExtAPI::EFT_NOOP},
	{"execve", ExtAPI::EFT_NOOP},
	{"execvp", ExtAPI::EFT_NOOP},
	{"feof", ExtAPI::EFT_NOOP},
	{"ferror", ExtAPI::EFT_NOOP},
	{"fflush", ExtAPI::EFT_NOOP},
	{"fgetc", ExtAPI::EFT_NOOP},
	{"fgetpos", ExtAPI::EFT_NOOP},
	{"fileno", ExtAPI::EFT_NOOP},
	{"flockfile", ExtAPI::EFT_NOOP},
	{"fnmatch", ExtAPI::EFT_NOOP},
	{"forkpty", ExtAPI::EFT_NOOP},
	{"fprintf", ExtAPI::EFT_NOOP},
	{"fputc", ExtAPI::EFT_NOOP},
	{"fputs", ExtAPI::EFT_NOOP},
	{"fread", ExtAPI::EFT_NOOP},
	{"frexp", ExtAPI::EFT_NOOP},
	{"fscanf", ExtAPI::EFT_NOOP},
	{"fseek", ExtAPI::EFT_NOOP},
	{"fseeko", ExtAPI::EFT_NOOP},
	{"fseeko64", ExtAPI::EFT_NOOP},
	{"fsetpos", ExtAPI::EFT_NOOP},
	{"fstat", ExtAPI::EFT_NOOP},
	{"fstat64", ExtAPI::EFT_NOOP},
	{"fstatfs", ExtAPI::EFT_NOOP},
	{"fstatvfs64", ExtAPI::EFT_NOOP},
	{"ftell", ExtAPI::EFT_NOOP},
	{"ftello", ExtAPI::EFT_NOOP},
	{"ftello64", ExtAPI::EFT_NOOP},
	{"ftok", ExtAPI::EFT_NOOP},
	{"funlockfile", ExtAPI::EFT_NOOP},
	{"fwrite", ExtAPI::EFT_NOOP},
	{"g_scanner_destroy", ExtAPI::EFT_NOOP},
	{"g_scanner_eof", ExtAPI::EFT_NOOP},
	{"g_scanner_get_next_token", ExtAPI::EFT_NOOP},
	{"g_scanner_input_file", ExtAPI::EFT_NOOP},
	{"g_scanner_scope_add_symbol", ExtAPI::EFT_NOOP},
	{"gcry_cipher_close", ExtAPI::EFT_NOOP},
	{"gcry_cipher_ctl", ExtAPI::EFT_NOOP},
	{"gcry_cipher_decrypt", ExtAPI::EFT_NOOP},
	{"gcry_cipher_map_name", ExtAPI::EFT_NOOP},
	{"gcry_cipher_open", ExtAPI::EFT_NOOP},
	{"gcry_md_close", ExtAPI::EFT_NOOP},
	{"gcry_md_ctl", ExtAPI::EFT_NOOP},
	{"gcry_md_get_algo", ExtAPI::EFT_NOOP},
	{"gcry_md_hash_buffer", ExtAPI::EFT_NOOP},
	{"gcry_md_map_name", ExtAPI::EFT_NOOP},
	{"gcry_md_open", ExtAPI::EFT_NOOP},
	{"gcry_md_setkey", ExtAPI::EFT_NOOP},
	{"gcry_md_write", ExtAPI::EFT_NOOP},
	{"gcry_mpi_add", ExtAPI::EFT_NOOP},
	{"gcry_mpi_add_ui", ExtAPI::EFT_NOOP},
	{"gcry_mpi_clear_highbit", ExtAPI::EFT_NOOP},
	{"gcry_mpi_print", ExtAPI::EFT_NOOP},
	{"getaddrinfo", ExtAPI::EFT_NOOP},
	{"getc_unlocked", ExtAPI::EFT_NOOP},
	{"getgroups", ExtAPI::EFT_NOOP},
	{"gethostname", ExtAPI::EFT_NOOP},
	{"getloadavg", ExtAPI::EFT_NOOP},
	{"getopt", ExtAPI::EFT_NOOP},
	{"getopt_long", ExtAPI::EFT_NOOP},
	{"getopt_long_only", ExtAPI::EFT_NOOP},
	{"getpeername", ExtAPI::EFT_NOOP},
	{"getresgid", ExtAPI::EFT_NOOP},
	{"getresuid", ExtAPI::EFT_NOOP},
	{"getrlimit", ExtAPI::EFT_NOOP},
	{"getrlimit64", ExtAPI::EFT_NOOP},
	{"getrusage", ExtAPI::EFT_NOOP},
	{"getsockname", ExtAPI::EFT_NOOP},
	{"getsockopt", ExtAPI::EFT_NOOP},
	{"gettimeofday", ExtAPI::EFT_NOOP},
	{"gnutls_pkcs12_bag_decrypt", ExtAPI::EFT_NOOP},
	{"gnutls_pkcs12_bag_deinit", ExtAPI::EFT_NOOP},
	{"gnutls_pkcs12_bag_get_count", ExtAPI::EFT_NOOP},
	{"gnutls_pkcs12_bag_get_type", ExtAPI::EFT_NOOP},
	{"gnutls_x509_crt_deinit", ExtAPI::EFT_NOOP},
	{"gnutls_x509_crt_get_dn_by_oid", ExtAPI::EFT_NOOP},
	{"gnutls_x509_crt_get_key_id", ExtAPI::EFT_NOOP},
	{"gnutls_x509_privkey_deinit", ExtAPI::EFT_NOOP},
	{"gnutls_x509_privkey_get_key_id", ExtAPI::EFT_NOOP},
	{"gzclose", ExtAPI::EFT_NOOP},
	{"gzeof", ExtAPI::EFT_NOOP},
	{"gzgetc", ExtAPI::EFT_NOOP},
	{"gzread", ExtAPI::EFT_NOOP},
	{"gzseek", ExtAPI::EFT_NOOP},
	{"gztell", ExtAPI::EFT_NOOP},
	{"gzwrite", ExtAPI::EFT_NOOP},
	{"hstrerror", ExtAPI::EFT_NOOP},
	{"iconv_close", ExtAPI::EFT_NOOP},
	{"inet_addr", ExtAPI::EFT_NOOP},
	{"inet_aton", ExtAPI::EFT_NOOP},
	{"inet_pton", ExtAPI::EFT_NOOP},
	{"inflate", ExtAPI::EFT_NOOP},
	{"inflateEnd", ExtAPI::EFT_NOOP},
	{"inflateInit2_", ExtAPI::EFT_NOOP},
	{"inflateInit_", ExtAPI::EFT_NOOP},
	{"inflateReset", ExtAPI::EFT_NOOP},
	{"initgroups", ExtAPI::EFT_NOOP},
	{"jpeg_CreateCompress", ExtAPI::EFT_NOOP},
	{"jpeg_CreateDecompress", ExtAPI::EFT_NOOP},
	{"jpeg_destroy", ExtAPI::EFT_NOOP},
	{"jpeg_finish_compress", ExtAPI::EFT_NOOP},
	{"jpeg_finish_decompress", ExtAPI::EFT_NOOP},
	{"jpeg_read_header", ExtAPI::EFT_NOOP},
	{"jpeg_read_scanlines", ExtAPI::EFT_NOOP},
	{"jpeg_resync_to_restart", ExtAPI::EFT_NOOP},
	{"jpeg_set_colorspace", ExtAPI::EFT_NOOP},
	{"jpeg_set_defaults", ExtAPI::EFT_NOOP},
	{"jpeg_set_linear_quality", ExtAPI::EFT_NOOP},
	{"jpeg_set_quality", ExtAPI::EFT_NOOP},
	{"jpeg_start_compress", ExtAPI::EFT_NOOP},
	{"jpeg_start_decompress", ExtAPI::EFT_NOOP},
	{"jpeg_write_scanlines", ExtAPI::EFT_NOOP},
	{"keypad", ExtAPI::EFT_NOOP},
	{"lchown", ExtAPI::EFT_NOOP},
	{"link", ExtAPI::EFT_NOOP},
	{"llvm.memset", ExtAPI::EFT_NOOP},
	// {"llvm.memset", ExtAPI::EFT_NOOP},
	{"llvm.stackrestore", ExtAPI::EFT_NOOP},
	{"llvm.va_copy", ExtAPI::EFT_NOOP},
	{"llvm.va_end", ExtAPI::EFT_NOOP},
	{"llvm.va_start", ExtAPI::EFT_NOOP},
	{"longjmp", ExtAPI::EFT_NOOP},
	{"lstat", ExtAPI::EFT_NOOP},
	{"lstat64", ExtAPI::EFT_NOOP},
	{"mblen", ExtAPI::EFT_NOOP},
	{"mbrlen", ExtAPI::EFT_NOOP},
	{"mbrtowc", ExtAPI::EFT_NOOP},
	{"mbtowc", ExtAPI::EFT_NOOP},
	{"memcmp", ExtAPI::EFT_NOOP},
	{"mkdir", ExtAPI::EFT_NOOP},
	{"mknod", ExtAPI::EFT_NOOP},
	{"mkfifo", ExtAPI::EFT_NOOP},
	{"mkstemp", ExtAPI::EFT_NOOP},
	{"mkstemp64", ExtAPI::EFT_NOOP},
	{"mktime", ExtAPI::EFT_NOOP},
	{"modf", ExtAPI::EFT_NOOP},
	{"mprotect", ExtAPI::EFT_NOOP},
	{"munmap", ExtAPI::EFT_NOOP},
	{"nanosleep", ExtAPI::EFT_NOOP},
	{"nodelay", ExtAPI::EFT_NOOP},
	{"open", ExtAPI::EFT_NOOP},
	{"open64", ExtAPI::EFT_NOOP},
	{"openlog", ExtAPI::EFT_NOOP},
	{"openpty", ExtAPI::EFT_NOOP},
	{"pathconf", ExtAPI::EFT_NOOP},
	{"pclose", ExtAPI::EFT_NOOP},
	{"perror", ExtAPI::EFT_NOOP},
	{"pipe", ExtAPI::EFT_NOOP},
	{"png_destroy_write_struct", ExtAPI::EFT_NOOP},
	{"png_init_io", ExtAPI::EFT_NOOP},
	{"png_set_bKGD", ExtAPI::EFT_NOOP},
	{"png_set_invert_alpha", ExtAPI::EFT_NOOP},
	{"png_set_invert_mono", ExtAPI::EFT_NOOP},
	{"png_write_end", ExtAPI::EFT_NOOP},
	{"png_write_info", ExtAPI::EFT_NOOP},
	{"png_write_rows", ExtAPI::EFT_NOOP},
	{"poll", ExtAPI::EFT_NOOP},
	{"pread64", ExtAPI::EFT_NOOP},
	{"printf", ExtAPI::EFT_NOOP},
	{"pthread_attr_destroy", ExtAPI::EFT_NOOP},
	{"pthread_attr_init", ExtAPI::EFT_NOOP},
	{"pthread_attr_setscope", ExtAPI::EFT_NOOP},
	{"pthread_attr_setstacksize", ExtAPI::EFT_NOOP},
	{"pthread_create", ExtAPI::EFT_NOOP},
	{"pthread_mutex_destroy", ExtAPI::EFT_NOOP},
	{"pthread_mutex_init", ExtAPI::EFT_NOOP},
	{"pthread_mutex_lock", ExtAPI::EFT_NOOP},
	{"pthread_mutex_unlock", ExtAPI::EFT_NOOP},
	{"pthread_mutexattr_destroy", ExtAPI::EFT_NOOP},
	{"pthread_mutexattr_init", ExtAPI::EFT_NOOP},
	{"pthread_mutexattr_settype", ExtAPI::EFT_NOOP},
	{"ptsname", ExtAPI::EFT_NOOP},
	{"putenv", ExtAPI::EFT_NOOP},
	{"puts", ExtAPI::EFT_NOOP},
	{"qsort", ExtAPI::EFT_NOOP},
	{"re_compile_fastmap", ExtAPI::EFT_NOOP},
	{"re_exec", ExtAPI::EFT_NOOP},
	{"re_search", ExtAPI::EFT_NOOP},
	{"read", ExtAPI::EFT_NOOP},
	{"readlink", ExtAPI::EFT_NOOP},
	{"recv", ExtAPI::EFT_NOOP},
	{"recvfrom", ExtAPI::EFT_NOOP},
	{"regcomp", ExtAPI::EFT_NOOP},
	{"regerror", ExtAPI::EFT_NOOP},
	{"remove", ExtAPI::EFT_NOOP},
	{"rename", ExtAPI::EFT_NOOP},
	{"rewind", ExtAPI::EFT_NOOP},
	{"rewinddir", ExtAPI::EFT_NOOP},
	{"rmdir", ExtAPI::EFT_NOOP},
	{"rresvport", ExtAPI::EFT_NOOP},
	{"scrollok", ExtAPI::EFT_NOOP},
	{"select", ExtAPI::EFT_NOOP},
	{"sem_destroy", ExtAPI::EFT_NOOP},
	{"sem_init", ExtAPI::EFT_NOOP},
	{"sem_post", ExtAPI::EFT_NOOP},
	{"sem_trywait", ExtAPI::EFT_NOOP},
	{"sem_wait", ExtAPI::EFT_NOOP},
	{"send", ExtAPI::EFT_NOOP},
	{"sendto", ExtAPI::EFT_NOOP},
	{"setbuf", ExtAPI::EFT_NOOP},
	{"setenv", ExtAPI::EFT_NOOP},
	{"setgroups", ExtAPI::EFT_NOOP},
	{"setitimer", ExtAPI::EFT_NOOP},
	{"setrlimit", ExtAPI::EFT_NOOP},
	{"setsockopt", ExtAPI::EFT_NOOP},
	{"setvbuf", ExtAPI::EFT_NOOP},
	{"sigaction", ExtAPI::EFT_NOOP},
	{"sigaddset", ExtAPI::EFT_NOOP},
	{"sigaltstack", ExtAPI::EFT_NOOP},
	{"sigdelset", ExtAPI::EFT_NOOP},
	{"sigemptyset", ExtAPI::EFT_NOOP},
	{"sigfillset", ExtAPI::EFT_NOOP},
	{"sigisemptyset", ExtAPI::EFT_NOOP},
	{"sigismember", ExtAPI::EFT_NOOP},
	{"siglongjmp", ExtAPI::EFT_NOOP},
	{"sigprocmask", ExtAPI::EFT_NOOP},
	{"sigsuspend", ExtAPI::EFT_NOOP},
	{"snprintf", ExtAPI::EFT_NOOP},
	{"socketpair", ExtAPI::EFT_NOOP},
	{"sprintf", ExtAPI::EFT_NOOP},
	{"sscanf", ExtAPI::EFT_NOOP},
	{"stat", ExtAPI::EFT_NOOP},
	{"stat64", ExtAPI::EFT_NOOP},
	{"statfs", ExtAPI::EFT_NOOP},
	{"statvfs", ExtAPI::EFT_NOOP},
	{"statvfs64", ExtAPI::EFT_NOOP},
	{"strcasecmp", ExtAPI::EFT_NOOP},
	{"strcmp", ExtAPI::EFT_NOOP},
	{"strcoll", ExtAPI::EFT_NOOP},
	{"strcspn", ExtAPI::EFT_NOOP},
	{"strfmon", ExtAPI::EFT_NOOP},
	{"strftime", ExtAPI::EFT_NOOP},
	{"strlen", ExtAPI::EFT_NOOP},
	{"strncasecmp", ExtAPI::EFT_NOOP},
	{"strncmp", ExtAPI::EFT_NOOP},
	{"strspn", ExtAPI::EFT_NOOP},
	{"symlink", ExtAPI::EFT_NOOP},
	{"sysinfo", ExtAPI::EFT_NOOP},
	{"syslog", ExtAPI::EFT_NOOP},
	{"system", ExtAPI::EFT_NOOP},
	{"tcgetattr", ExtAPI::EFT_NOOP},
	{"tcsetattr", ExtAPI::EFT_NOOP},
	{"tgetent", ExtAPI::EFT_NOOP},
	{"tgetflag", ExtAPI::EFT_NOOP},
	{"tgetnum", ExtAPI::EFT_NOOP},
	{"time", ExtAPI::EFT_NOOP},
	{"timegm", ExtAPI::EFT_NOOP},
	{"times", ExtAPI::EFT_NOOP},
	{"tputs", ExtAPI::EFT_NOOP},
	{"truncate", ExtAPI::EFT_NOOP},
	{"uname", ExtAPI::EFT_NOOP},
	{"uncompress", ExtAPI::EFT_NOOP},
	{"ungetc", ExtAPI::EFT_NOOP},
	{"unlink", ExtAPI::EFT_NOOP},
	{"unsetenv", ExtAPI::EFT_NOOP},
	{"utime", ExtAPI::EFT_NOOP},
	{"utimes", ExtAPI::EFT_NOOP},
	{"vasprintf", ExtAPI::EFT_NOOP},
	{"vfprintf", ExtAPI::EFT_NOOP},
	{"vprintf", ExtAPI::EFT_NOOP},
	{"vsnprintf", ExtAPI::EFT_NOOP},
	{"vsprintf", ExtAPI::EFT_NOOP},
	{"waddch", ExtAPI::EFT_NOOP},
	{"waddnstr", ExtAPI::EFT_NOOP},
	{"wait", ExtAPI::EFT_NOOP},
	{"wait3", ExtAPI::EFT_NOOP},
	{"wait4", ExtAPI::EFT_NOOP},
	{"waitpid", ExtAPI::EFT_NOOP},
	{"wattr_off", ExtAPI::EFT_NOOP},
	{"wattr_on", ExtAPI::EFT_NOOP},
	{"wborder", ExtAPI::EFT_NOOP},
	{"wclrtobot", ExtAPI::EFT_NOOP},
	{"wclrtoeol", ExtAPI::EFT_NOOP},
	{"wcrtomb", ExtAPI::EFT_NOOP},
	{"wctomb", ExtAPI::EFT_NOOP},
	{"wctype", ExtAPI::EFT_NOOP},
	{"werase", ExtAPI::EFT_NOOP},
	{"wgetch", ExtAPI::EFT_NOOP},
	{"wmove", ExtAPI::EFT_NOOP},
	{"wrefresh", ExtAPI::EFT_NOOP},
	{"write", ExtAPI::EFT_NOOP},
	{"wtouchln", ExtAPI::EFT_NOOP},

	{"\01_fopen", ExtAPI::EFT_ALLOC},
	{"\01fopen64", ExtAPI::EFT_ALLOC},
	{"\01readdir64", ExtAPI::EFT_ALLOC},
	{"\01tmpfile64", ExtAPI::EFT_ALLOC},
	{"BIO_new_socket", ExtAPI::EFT_ALLOC},
	{"FT_Get_Sfnt_Table", ExtAPI::EFT_ALLOC},
	{"FcFontList", ExtAPI::EFT_ALLOC},
	{"FcFontMatch", ExtAPI::EFT_ALLOC},
	{"FcFontRenderPrepare", ExtAPI::EFT_ALLOC},
	{"FcFontSetCreate", ExtAPI::EFT_ALLOC},
	{"FcFontSort", ExtAPI::EFT_ALLOC},
	{"FcInitLoadConfig", ExtAPI::EFT_ALLOC},
	{"FcObjectSetBuild", ExtAPI::EFT_ALLOC},
	{"FcObjectSetCreate", ExtAPI::EFT_ALLOC},
	{"FcPatternBuild", ExtAPI::EFT_ALLOC},
	{"FcPatternCreate", ExtAPI::EFT_ALLOC},
	{"FcPatternDuplicate", ExtAPI::EFT_ALLOC},
	{"SSL_CTX_new", ExtAPI::EFT_ALLOC},
	{"SSL_get_peer_certificate", ExtAPI::EFT_ALLOC},
	{"SSL_new", ExtAPI::EFT_ALLOC},
	{"SSLv23_client_method", ExtAPI::EFT_ALLOC},
	{"SyGetmem", ExtAPI::EFT_ALLOC},
	{"TLSv1_client_method", ExtAPI::EFT_ALLOC},
	{"Void_ExtendCore", ExtAPI::EFT_ALLOC},
	{"XAddExtension", ExtAPI::EFT_ALLOC},
	{"XAllocClassHint", ExtAPI::EFT_ALLOC},
	{"XAllocSizeHints", ExtAPI::EFT_ALLOC},
	{"XAllocStandardColormap", ExtAPI::EFT_ALLOC},
	{"XCreateFontSet", ExtAPI::EFT_ALLOC},
	{"XCreateImage", ExtAPI::EFT_ALLOC},
	{"XCreateGC", ExtAPI::EFT_ALLOC},
	//Returns the prev. defined handler.
	{"XESetCloseDisplay", ExtAPI::EFT_ALLOC},
	{"XGetImage", ExtAPI::EFT_ALLOC},
	{"XGetModifierMapping", ExtAPI::EFT_ALLOC},
	{"XGetMotionEvents", ExtAPI::EFT_ALLOC},
	{"XGetVisualInfo", ExtAPI::EFT_ALLOC},
	{"XLoadQueryFont", ExtAPI::EFT_ALLOC},
	{"XListPixmapFormats", ExtAPI::EFT_ALLOC},
	{"XRenderFindFormat", ExtAPI::EFT_ALLOC},
	{"XRenderFindStandardFormat", ExtAPI::EFT_ALLOC},
	{"XRenderFindVisualFormat", ExtAPI::EFT_ALLOC},
	{"XOpenDisplay", ExtAPI::EFT_ALLOC},
	//These 2 return the previous handler.
	{"XSetErrorHandler", ExtAPI::EFT_ALLOC},
	{"XSetIOErrorHandler", ExtAPI::EFT_ALLOC},
	{"XShapeGetRectangles", ExtAPI::EFT_ALLOC},
	{"XShmCreateImage", ExtAPI::EFT_ALLOC},
	//This returns the handler last passed to XSetAfterFunction().
	{"XSynchronize", ExtAPI::EFT_ALLOC},
	{"XcursorImageCreate", ExtAPI::EFT_ALLOC},
	{"XcursorLibraryLoadImages", ExtAPI::EFT_ALLOC},
	{"XcursorShapeLoadImages", ExtAPI::EFT_ALLOC},
	{"XineramaQueryScreens", ExtAPI::EFT_ALLOC},
	{"XkbGetMap", ExtAPI::EFT_ALLOC},
	{"XtAppCreateShell", ExtAPI::EFT_ALLOC},
	{"XtCreateApplicationContext", ExtAPI::EFT_ALLOC},
	{"XtOpenDisplay", ExtAPI::EFT_ALLOC},
	{"alloc", ExtAPI::EFT_ALLOC},
	{"alloc_check", ExtAPI::EFT_ALLOC},
	{"alloc_clear", ExtAPI::EFT_ALLOC},
	{"art_svp_from_vpath", ExtAPI::EFT_ALLOC},
	{"art_svp_vpath_stroke", ExtAPI::EFT_ALLOC},
	{"art_svp_writer_rewind_new", ExtAPI::EFT_ALLOC},
	//FIXME: returns arg0->svp
	{"art_svp_writer_rewind_reap", ExtAPI::EFT_ALLOC},
	{"art_vpath_dash", ExtAPI::EFT_ALLOC},
	{"cairo_create", ExtAPI::EFT_ALLOC},
	{"cairo_image_surface_create_for_data", ExtAPI::EFT_ALLOC},
	{"cairo_pattern_create_for_surface", ExtAPI::EFT_ALLOC},
	{"cairo_surface_create_similar", ExtAPI::EFT_ALLOC},
	{"calloc", ExtAPI::EFT_ALLOC},
	{"fopen", ExtAPI::EFT_ALLOC},
	{"fopen64", ExtAPI::EFT_ALLOC},
	{"fopencookie", ExtAPI::EFT_ALLOC},
	{"g_scanner_new", ExtAPI::EFT_ALLOC},
	{"gcry_sexp_nth_mpi", ExtAPI::EFT_ALLOC},
	{"gzdopen", ExtAPI::EFT_ALLOC},
	{"iconv_open", ExtAPI::EFT_ALLOC},
	{"jpeg_alloc_huff_table", ExtAPI::EFT_ALLOC},
	{"jpeg_alloc_quant_table", ExtAPI::EFT_ALLOC},
	{"lalloc", ExtAPI::EFT_ALLOC},
	{"lalloc_clear", ExtAPI::EFT_ALLOC},
	{"malloc", ExtAPI::EFT_ALLOC},
	{"nhalloc", ExtAPI::EFT_ALLOC},
	{"oballoc", ExtAPI::EFT_ALLOC},
	{"pango_cairo_font_map_create_context", ExtAPI::EFT_ALLOC},
	//This may also point *arg2 to a new string.
	{"pcre_compile", ExtAPI::EFT_ALLOC},
	{"pcre_study", ExtAPI::EFT_ALLOC},
	{"permalloc", ExtAPI::EFT_ALLOC},
	{"png_create_info_struct", ExtAPI::EFT_ALLOC},
	{"png_create_write_struct", ExtAPI::EFT_ALLOC},
	{"popen", ExtAPI::EFT_ALLOC},
	{"pthread_getspecific", ExtAPI::EFT_ALLOC},
	{"readdir", ExtAPI::EFT_ALLOC},
	{"readdir64", ExtAPI::EFT_ALLOC},
	{"safe_calloc", ExtAPI::EFT_ALLOC},
	{"safe_malloc", ExtAPI::EFT_ALLOC},
	{"safecalloc", ExtAPI::EFT_ALLOC},
	{"safemalloc", ExtAPI::EFT_ALLOC},
	{"safexcalloc", ExtAPI::EFT_ALLOC},
	{"safexmalloc", ExtAPI::EFT_ALLOC},
	{"savealloc", ExtAPI::EFT_ALLOC},
	{"setmntent", ExtAPI::EFT_ALLOC},
	{"shmat", ExtAPI::EFT_ALLOC},
	//These 2 return the previous handler.
	{"__sysv_signal", ExtAPI::EFT_ALLOC},
	{"signal", ExtAPI::EFT_ALLOC},
	{"sigset", ExtAPI::EFT_ALLOC},
	{"tempnam", ExtAPI::EFT_ALLOC},
	{"tmpfile", ExtAPI::EFT_ALLOC},
	{"tmpfile64", ExtAPI::EFT_ALLOC},
	{"xalloc", ExtAPI::EFT_ALLOC},
	{"xcalloc", ExtAPI::EFT_ALLOC},
	{"xmalloc", ExtAPI::EFT_ALLOC},
	//C++ functions
	{"_Znwm", ExtAPI::EFT_ALLOC},	// new
	{"_Znam", ExtAPI::EFT_ALLOC},	// new []
	{"_Znaj", ExtAPI::EFT_ALLOC},	// new
	{"_Znwj", ExtAPI::EFT_ALLOC},	// new []
	{"aligned_alloc", ExtAPI::EFT_ALLOC},
	{"memalign", ExtAPI::EFT_ALLOC},
	{"valloc", ExtAPI::EFT_ALLOC},

	//Kernel functions; these are only subnames.
	//    {"kmalloc", ExtAPI::EFT_KALLOC},
	//    {"kmem_cache_alloc", ExtAPI::EFT_KALLOC},
	//    {"kmem_cache_zalloc", ExtAPI::EFT_KALLOC},
	//    {"vmalloc", ExtAPI::EFT_KALLOC},
	//    {"__vmalloc", ExtAPI::EFT_KALLOC},
	//    {"kzalloc", ExtAPI::EFT_KALLOC},
	//    {"kcalloc", ExtAPI::EFT_KALLOC},
	//    {"d_alloc", ExtAPI::EFT_KALLOC},
	//    {"alloc_vfsmnt", ExtAPI::EFT_KALLOC},
	//    {"alloc_large_system_hash", ExtAPI::EFT_KALLOC},

	{"___alloc_bootmem", ExtAPI::EFT_KALLOC},
	{"___alloc_bootmem_node", ExtAPI::EFT_KALLOC},
	{"___alloc_bootmem_node_nopanic", ExtAPI::EFT_KALLOC},
	{"___alloc_bootmem_nopanic", ExtAPI::EFT_KALLOC},
	{"__alloc_bootmem", ExtAPI::EFT_KALLOC},
	{"__alloc_bootmem_low", ExtAPI::EFT_KALLOC},
	{"__alloc_bootmem_low_node", ExtAPI::EFT_KALLOC},
	{"__alloc_bootmem_low_nopanic", ExtAPI::EFT_KALLOC},
	{"__alloc_bootmem_node", ExtAPI::EFT_KALLOC},
	{"__alloc_bootmem_node_high", ExtAPI::EFT_KALLOC},
	{"__alloc_bootmem_node_nopanic", ExtAPI::EFT_KALLOC},
	{"__alloc_bootmem_nopanic", ExtAPI::EFT_KALLOC},
	{"__alloc_filter", ExtAPI::EFT_KALLOC},
	{"__alloc_memory_core_early", ExtAPI::EFT_KALLOC},
	{"__alloc_pages", ExtAPI::EFT_KALLOC},
	{"__alloc_pages_direct_compact", ExtAPI::EFT_KALLOC},
	{"__alloc_pages_direct_reclaim", ExtAPI::EFT_KALLOC},
	{"__alloc_pages_high_priority", ExtAPI::EFT_KALLOC},
	{"__alloc_pages_may_oom", ExtAPI::EFT_KALLOC},
	{"__alloc_pages_nodemask", ExtAPI::EFT_KALLOC},
	{"__alloc_pages_slowpath", ExtAPI::EFT_KALLOC},
	{"__alloc_percpu", ExtAPI::EFT_KALLOC},
	{"__alloc_percpu_gfp", ExtAPI::EFT_KALLOC},
	{"__alloc_reserved_percpu", ExtAPI::EFT_KALLOC},
	{"__alloc_workqueue_key", ExtAPI::EFT_KALLOC},
	{"__allocate_fw_buf", ExtAPI::EFT_KALLOC},
	{"__blk_mq_alloc_request", ExtAPI::EFT_KALLOC},
	{"__crypto_alloc_tfm", ExtAPI::EFT_KALLOC},
	{"__d_alloc", ExtAPI::EFT_KALLOC},
	{"__do_krealloc", ExtAPI::EFT_KALLOC},
	{"__earlyonly_bootmem_alloc", ExtAPI::EFT_KALLOC},
	{"__fuse_request_alloc", ExtAPI::EFT_KALLOC},
	{"__kmalloc", ExtAPI::EFT_KALLOC},
	{"__kmalloc_node", ExtAPI::EFT_KALLOC},
	{"__kmalloc_node_track_caller", ExtAPI::EFT_KALLOC},
	{"__kmalloc_section_usemap", ExtAPI::EFT_KALLOC},
	{"__kmalloc_track_caller", ExtAPI::EFT_KALLOC},
	{"__krealloc", ExtAPI::EFT_KALLOC},
	{"__page_cache_alloc", ExtAPI::EFT_KALLOC},
	{"__ring_buffer_alloc", ExtAPI::EFT_KALLOC},
	{"__scsi_alloc_queue", ExtAPI::EFT_KALLOC},
	{"__sigqueue_alloc", ExtAPI::EFT_KALLOC},
	{"__slab_alloc", ExtAPI::EFT_KALLOC},
	{"__tty_alloc_driver", ExtAPI::EFT_KALLOC},
	{"__vmalloc", ExtAPI::EFT_KALLOC},
	{"__vmalloc_area_node", ExtAPI::EFT_KALLOC},
	{"__vmalloc_node", ExtAPI::EFT_KALLOC},
	{"__vmalloc_node_flags", ExtAPI::EFT_KALLOC},
	{"__vmalloc_node_range", ExtAPI::EFT_KALLOC},
	{"ablkcipher_request_alloc", ExtAPI::EFT_KALLOC},
	{"aead_geniv_alloc", ExtAPI::EFT_KALLOC},
	{"aead_request_alloc", ExtAPI::EFT_KALLOC},
	{"aer_alloc_rpc", ExtAPI::EFT_KALLOC},
	{"agp_alloc_bridge", ExtAPI::EFT_KALLOC},
	{"agp_allocate_memory", ExtAPI::EFT_KALLOC},
	{"agp_allocate_memory_wrap", ExtAPI::EFT_KALLOC},
	{"agp_generic_alloc_by_type", ExtAPI::EFT_KALLOC},
	{"agp_generic_alloc_page", ExtAPI::EFT_KALLOC},
	{"agp_generic_alloc_user", ExtAPI::EFT_KALLOC},
	{"ahash_request_alloc", ExtAPI::EFT_KALLOC},
	{"alloc_aggr_kprobe", ExtAPI::EFT_KALLOC},
	{"alloc_agpphysmem_i8xx", ExtAPI::EFT_KALLOC},
	{"alloc_anon_inode", ExtAPI::EFT_KALLOC},
	{"alloc_apertures", ExtAPI::EFT_KALLOC},
	{"alloc_buddy_huge_page", ExtAPI::EFT_KALLOC},
	{"alloc_buf", ExtAPI::EFT_KALLOC},
	{"alloc_buffer_head", ExtAPI::EFT_KALLOC},
	{"alloc_dcookie", ExtAPI::EFT_KALLOC},
	{"alloc_desc", ExtAPI::EFT_KALLOC},
	{"alloc_disk", ExtAPI::EFT_KALLOC},
	{"alloc_disk_node", ExtAPI::EFT_KALLOC},
	{"alloc_dr", ExtAPI::EFT_KALLOC},
	{"alloc_elfnotes_buf", ExtAPI::EFT_KALLOC},
	{"alloc_fdmem", ExtAPI::EFT_KALLOC},
	{"alloc_fdtable", ExtAPI::EFT_KALLOC},
	{"alloc_file", ExtAPI::EFT_KALLOC},
	{"alloc_flex_gd", ExtAPI::EFT_KALLOC},
	{"alloc_fresh_gigantic_page_node", ExtAPI::EFT_KALLOC},
	{"alloc_fresh_huge_page_node", ExtAPI::EFT_KALLOC},
	{"alloc_gigantic_page", ExtAPI::EFT_KALLOC},
	{"alloc_huge_page", ExtAPI::EFT_KALLOC},
	{"alloc_huge_page_node", ExtAPI::EFT_KALLOC},
	{"alloc_huge_page_noerr", ExtAPI::EFT_KALLOC},
	{"alloc_hugepage_vma", ExtAPI::EFT_KALLOC},
	{"alloc_indirect", ExtAPI::EFT_KALLOC},
	{"alloc_inode", ExtAPI::EFT_KALLOC},
	{"alloc_insn_page", ExtAPI::EFT_KALLOC},
	{"alloc_irq_and_cfg_at", ExtAPI::EFT_KALLOC},
	{"alloc_irq_cfg", ExtAPI::EFT_KALLOC},
	{"alloc_irq_pin_list", ExtAPI::EFT_KALLOC},
	{"alloc_kmem_pages", ExtAPI::EFT_KALLOC},
	{"alloc_kmem_pages_node", ExtAPI::EFT_KALLOC},
	{"alloc_large_system_hash", ExtAPI::EFT_KALLOC},
	{"alloc_low_page", ExtAPI::EFT_KALLOC},
	{"alloc_low_pages", ExtAPI::EFT_KALLOC},
	{"alloc_lvn", ExtAPI::EFT_KALLOC},
	{"alloc_migrate_target", ExtAPI::EFT_KALLOC},
	{"alloc_misplaced_dst_page", ExtAPI::EFT_KALLOC},
	{"alloc_mm_slot", ExtAPI::EFT_KALLOC},
	{"alloc_mnt_ns", ExtAPI::EFT_KALLOC},
	{"alloc_msg", ExtAPI::EFT_KALLOC},
	{"alloc_msi_entry", ExtAPI::EFT_KALLOC},
	{"alloc_new_pmd", ExtAPI::EFT_KALLOC},
	{"alloc_page_buffers", ExtAPI::EFT_KALLOC},
	{"alloc_page_interleave", ExtAPI::EFT_KALLOC},
	{"alloc_pages", ExtAPI::EFT_KALLOC},
	{"alloc_pages_current", ExtAPI::EFT_KALLOC},
	{"alloc_pages_exact", ExtAPI::EFT_KALLOC},
	{"alloc_pages_exact_nid", ExtAPI::EFT_KALLOC},
	{"alloc_pages_exact_node", ExtAPI::EFT_KALLOC},
	{"alloc_pages_node", ExtAPI::EFT_KALLOC},
	{"alloc_pages_vma", ExtAPI::EFT_KALLOC},
	{"alloc_part_info", ExtAPI::EFT_KALLOC},
	{"alloc_pci_root_info", ExtAPI::EFT_KALLOC},
	{"alloc_pcie_link_state", ExtAPI::EFT_KALLOC},
	{"alloc_perf_context", ExtAPI::EFT_KALLOC},
	{"alloc_pgt_page", ExtAPI::EFT_KALLOC},
	{"alloc_pi_state", ExtAPI::EFT_KALLOC},
	{"alloc_pid", ExtAPI::EFT_KALLOC},
	{"alloc_pipe_info", ExtAPI::EFT_KALLOC},
	{"alloc_posix_timer", ExtAPI::EFT_KALLOC},
	{"alloc_pvd", ExtAPI::EFT_KALLOC},
	{"alloc_read_gpt_entries", ExtAPI::EFT_KALLOC},
	{"alloc_read_gpt_header", ExtAPI::EFT_KALLOC},
	{"alloc_resource", ExtAPI::EFT_KALLOC},
	{"alloc_rmap_item", ExtAPI::EFT_KALLOC},
	{"alloc_rootdomain", ExtAPI::EFT_KALLOC},
	{"alloc_sched_domains", ExtAPI::EFT_KALLOC},
	{"alloc_sdesc", ExtAPI::EFT_KALLOC},
	{"alloc_secdata", ExtAPI::EFT_KALLOC},
	{"alloc_slab_page", ExtAPI::EFT_KALLOC},
	{"alloc_stable_node", ExtAPI::EFT_KALLOC},
	{"alloc_super", ExtAPI::EFT_KALLOC},
	{"alloc_swap_info", ExtAPI::EFT_KALLOC},
	{"alloc_symbol_cache", ExtAPI::EFT_KALLOC},
	{"alloc_task_struct_node", ExtAPI::EFT_KALLOC},
	{"alloc_tce_table", ExtAPI::EFT_KALLOC},
	{"alloc_thread_info_node", ExtAPI::EFT_KALLOC},
	{"alloc_trace_kprobe", ExtAPI::EFT_KALLOC},
	{"alloc_trial_cpuset", ExtAPI::EFT_KALLOC},
	{"alloc_tty_driver", ExtAPI::EFT_KALLOC},
	{"alloc_tty_struct", ExtAPI::EFT_KALLOC},
	{"alloc_uid", ExtAPI::EFT_KALLOC},
	{"alloc_unbound_pwq", ExtAPI::EFT_KALLOC},
	{"alloc_vfsmnt", ExtAPI::EFT_KALLOC},
	{"alloc_vm_area", ExtAPI::EFT_KALLOC},
	{"alloc_vmap_area", ExtAPI::EFT_KALLOC},
	{"alloc_worker", ExtAPI::EFT_KALLOC},
	{"alloc_workqueue_attrs", ExtAPI::EFT_KALLOC},
	{"alloc_zeroed_user_highpage_movable", ExtAPI::EFT_KALLOC},
	{"alloc_zspage", ExtAPI::EFT_KALLOC},
	{"allocate_fake_cpuc", ExtAPI::EFT_KALLOC},
	{"allocate_partitions", ExtAPI::EFT_KALLOC},
	{"allocate_probes", ExtAPI::EFT_KALLOC},
	{"allocate_shared_regs", ExtAPI::EFT_KALLOC},
	{"allocate_slab", ExtAPI::EFT_KALLOC},
	{"amd_alloc_nb", ExtAPI::EFT_KALLOC},
	{"amd_uncore_alloc", ExtAPI::EFT_KALLOC},
	{"anon_vma_alloc", ExtAPI::EFT_KALLOC},
	{"anon_vma_chain_alloc", ExtAPI::EFT_KALLOC},
	{"array_map_alloc", ExtAPI::EFT_KALLOC},
	{"bdev_alloc_inode", ExtAPI::EFT_KALLOC},
	{"bio_alloc", ExtAPI::EFT_KALLOC},
	{"bio_alloc_bioset", ExtAPI::EFT_KALLOC},
	{"bio_alloc_map_data", ExtAPI::EFT_KALLOC},
	{"bio_integrity_alloc", ExtAPI::EFT_KALLOC},
	{"bio_kmalloc", ExtAPI::EFT_KALLOC},
	{"blk_alloc_flush_queue", ExtAPI::EFT_KALLOC},
	{"blk_alloc_queue", ExtAPI::EFT_KALLOC},
	{"blk_alloc_queue_node", ExtAPI::EFT_KALLOC},
	{"blk_init_allocated_queue", ExtAPI::EFT_KALLOC},
	{"blk_mq_alloc_request", ExtAPI::EFT_KALLOC},
	{"blk_get_request", ExtAPI::EFT_KALLOC},
	{"blkcg_css_alloc", ExtAPI::EFT_KALLOC},
	{"blkg_alloc", ExtAPI::EFT_KALLOC},
	{"bpf_prog_alloc", ExtAPI::EFT_KALLOC},
	{"bpf_prog_realloc", ExtAPI::EFT_KALLOC},
	{"bsg_alloc_command", ExtAPI::EFT_KALLOC},
	{"bsg_alloc_device", ExtAPI::EFT_KALLOC},
	{"bucket_table_alloc", ExtAPI::EFT_KALLOC},
	{"bvec_alloc", ExtAPI::EFT_KALLOC},
	{"calgary_alloc_coherent", ExtAPI::EFT_KALLOC},
	{"cdev_alloc", ExtAPI::EFT_KALLOC},
	{"cfq_find_alloc_queue", ExtAPI::EFT_KALLOC},
	{"chainiv_alloc", ExtAPI::EFT_KALLOC},
	{"cma_alloc", ExtAPI::EFT_KALLOC},
	{"compaction_alloc", ExtAPI::EFT_KALLOC},
	{"component_match_realloc", ExtAPI::EFT_KALLOC},
	{"cpu_cgroup_css_alloc", ExtAPI::EFT_KALLOC},
	{"cpuacct_css_alloc", ExtAPI::EFT_KALLOC},
	{"cpufreq_policy_alloc", ExtAPI::EFT_KALLOC},
	{"cpuset_css_alloc", ExtAPI::EFT_KALLOC},
	{"create_kmalloc_cache", ExtAPI::EFT_KALLOC},
	{"cred_alloc_blank", ExtAPI::EFT_KALLOC},
	{"crypto_alloc_ablkcipher", ExtAPI::EFT_KALLOC},
	{"crypto_alloc_aead", ExtAPI::EFT_KALLOC},
	{"crypto_alloc_ahash", ExtAPI::EFT_KALLOC},
	{"crypto_alloc_base", ExtAPI::EFT_KALLOC},
	{"crypto_alloc_blkcipher", ExtAPI::EFT_KALLOC},
	{"crypto_alloc_cipher", ExtAPI::EFT_KALLOC},
	{"crypto_alloc_comp", ExtAPI::EFT_KALLOC},
	{"crypto_alloc_hash", ExtAPI::EFT_KALLOC},
	{"crypto_alloc_instance", ExtAPI::EFT_KALLOC},
	{"crypto_alloc_instance2", ExtAPI::EFT_KALLOC},
	{"crypto_alloc_pcomp", ExtAPI::EFT_KALLOC},
	{"crypto_alloc_rng", ExtAPI::EFT_KALLOC},
	{"crypto_alloc_shash", ExtAPI::EFT_KALLOC},
	{"crypto_alloc_tfm", ExtAPI::EFT_KALLOC},
	{"crypto_cbc_alloc", ExtAPI::EFT_KALLOC},
	{"crypto_ecb_alloc", ExtAPI::EFT_KALLOC},
	{"crypto_larval_alloc", ExtAPI::EFT_KALLOC},
	{"d_alloc", ExtAPI::EFT_KALLOC},
	{"d_alloc_name", ExtAPI::EFT_KALLOC},
	{"d_alloc_pseudo", ExtAPI::EFT_KALLOC},
	{"devcgroup_css_alloc", ExtAPI::EFT_KALLOC},
	{"devm_input_allocate_device", ExtAPI::EFT_KALLOC},
	{"devm_kmalloc", ExtAPI::EFT_KALLOC},
	{"devm_kzalloc", ExtAPI::EFT_KALLOC},
	{"devm_regmap_field_alloc", ExtAPI::EFT_KALLOC},
	{"devres_alloc", ExtAPI::EFT_KALLOC},
	{"dma_alloc_attrs", ExtAPI::EFT_KALLOC},
	{"dma_alloc_from_contiguous", ExtAPI::EFT_KALLOC},
	{"dma_generic_alloc_coherent", ExtAPI::EFT_KALLOC},
	{"dma_pool_alloc", ExtAPI::EFT_KALLOC},
	{"dmam_alloc_coherent", ExtAPI::EFT_KALLOC},
	{"dmam_alloc_noncoherent", ExtAPI::EFT_KALLOC},
	{"dmi_alloc", ExtAPI::EFT_KALLOC},
	{"do_kimage_alloc_init", ExtAPI::EFT_KALLOC},
	{"dquot_alloc", ExtAPI::EFT_KALLOC},
	{"ecryptfs_alloc_inode", ExtAPI::EFT_KALLOC},
	{"elevator_alloc", ExtAPI::EFT_KALLOC},
	{"encrypted_key_alloc", ExtAPI::EFT_KALLOC},
	{"eseqiv_alloc", ExtAPI::EFT_KALLOC},
	{"ext4_alloc_inode", ExtAPI::EFT_KALLOC},
	{"ext4_es_alloc_extent", ExtAPI::EFT_KALLOC},
	{"ext4_kvmalloc", ExtAPI::EFT_KALLOC},
	{"ext4_kvzalloc", ExtAPI::EFT_KALLOC},
	{"fanotify_alloc_event", ExtAPI::EFT_KALLOC},
	{"fasync_alloc", ExtAPI::EFT_KALLOC},
	{"fat_alloc_inode", ExtAPI::EFT_KALLOC},
	{"fat_cache_alloc", ExtAPI::EFT_KALLOC},
	{"find_alloc_undo", ExtAPI::EFT_KALLOC},
	{"find_and_alloc_map", ExtAPI::EFT_KALLOC},
	{"flex_array_alloc", ExtAPI::EFT_KALLOC},
	{"framebuffer_alloc", ExtAPI::EFT_KALLOC},
	{"fsnotify_alloc_group", ExtAPI::EFT_KALLOC},
	{"fuse_alloc_forget", ExtAPI::EFT_KALLOC},
	{"fuse_alloc_inode", ExtAPI::EFT_KALLOC},
	{"fuse_file_alloc", ExtAPI::EFT_KALLOC},
	{"fuse_request_alloc", ExtAPI::EFT_KALLOC},
	{"fuse_request_alloc_nofs", ExtAPI::EFT_KALLOC},
	{"gart_alloc_coherent", ExtAPI::EFT_KALLOC},
	{"gen_pool_dma_alloc", ExtAPI::EFT_KALLOC},
	{"groups_alloc", ExtAPI::EFT_KALLOC},
	{"htab_map_alloc", ExtAPI::EFT_KALLOC},
	{"huge_pte_alloc", ExtAPI::EFT_KALLOC},
	{"hugetlb_cgroup_css_alloc", ExtAPI::EFT_KALLOC},
	{"hugetlbfs_alloc_inode", ExtAPI::EFT_KALLOC},
	{"hvc_alloc", ExtAPI::EFT_KALLOC},
	{"i8xx_alloc_pages", ExtAPI::EFT_KALLOC},
	{"ima_alloc_atfm", ExtAPI::EFT_KALLOC},
	{"ima_alloc_pages", ExtAPI::EFT_KALLOC},
	{"ima_alloc_tfm", ExtAPI::EFT_KALLOC},
	{"input_allocate_device", ExtAPI::EFT_KALLOC},
	{"intel_fake_agp_alloc_by_type", ExtAPI::EFT_KALLOC},
	{"ioctx_alloc", ExtAPI::EFT_KALLOC},
	{"ipc_alloc", ExtAPI::EFT_KALLOC},
	{"ipc_rcu_alloc", ExtAPI::EFT_KALLOC},
	{"irq_alloc_generic_chip", ExtAPI::EFT_KALLOC},
	{"jbd2_alloc", ExtAPI::EFT_KALLOC},
	{"jbd2_alloc_handle", ExtAPI::EFT_KALLOC},
	{"jbd2_alloc_inode", ExtAPI::EFT_KALLOC},
	{"journal_alloc_journal_head", ExtAPI::EFT_KALLOC},
	{"kcalloc", ExtAPI::EFT_KALLOC},
	{"key_alloc", ExtAPI::EFT_KALLOC},
	{"keyring_alloc", ExtAPI::EFT_KALLOC},
	{"khugepaged_alloc_page", ExtAPI::EFT_KALLOC},
	{"kimage_alloc_control_pages", ExtAPI::EFT_KALLOC},
	{"kimage_alloc_crash_control_pages", ExtAPI::EFT_KALLOC},
	{"kimage_alloc_normal_control_pages", ExtAPI::EFT_KALLOC},
	{"kimage_alloc_page", ExtAPI::EFT_KALLOC},
	{"kimage_alloc_pages", ExtAPI::EFT_KALLOC},
	{"kmalloc", ExtAPI::EFT_KALLOC},
	{"kmalloc_array", ExtAPI::EFT_KALLOC},
	{"kmalloc_large", ExtAPI::EFT_KALLOC},
	{"kmalloc_large_node", ExtAPI::EFT_KALLOC},
	{"kmalloc_node", ExtAPI::EFT_KALLOC},
	{"kmalloc_order", ExtAPI::EFT_KALLOC},
	{"kmalloc_order_trace", ExtAPI::EFT_KALLOC},
	{"kmalloc_parameter", ExtAPI::EFT_KALLOC},
	{"kmalloc_section_memmap", ExtAPI::EFT_KALLOC},
	{"kmalloc_slab", ExtAPI::EFT_KALLOC},
	{"kmem_cache_alloc", ExtAPI::EFT_KALLOC},
	{"kmem_cache_alloc_node", ExtAPI::EFT_KALLOC},
	{"kmem_cache_alloc_node_trace", ExtAPI::EFT_KALLOC},
	{"kmem_cache_alloc_trace", ExtAPI::EFT_KALLOC},
	{"kmem_cache_zalloc", ExtAPI::EFT_KALLOC},
	{"krealloc", ExtAPI::EFT_KALLOC},
	{"kzalloc", ExtAPI::EFT_KALLOC},
	{"kzalloc_node", ExtAPI::EFT_KALLOC},
	{"layout_and_allocate", ExtAPI::EFT_KALLOC},
	{"lease_alloc", ExtAPI::EFT_KALLOC},
	{"locks_alloc_lock", ExtAPI::EFT_KALLOC},
	{"make_alloc_exact", ExtAPI::EFT_KALLOC},
	{"mb_cache_entry_alloc", ExtAPI::EFT_KALLOC},
	{"mem_cgroup_alloc", ExtAPI::EFT_KALLOC},
	{"mem_cgroup_css_alloc", ExtAPI::EFT_KALLOC},
	{"memblock_virt_alloc", ExtAPI::EFT_KALLOC},
	{"memblock_virt_alloc_internal", ExtAPI::EFT_KALLOC},
	{"memblock_virt_alloc_low_nopanic", ExtAPI::EFT_KALLOC},
	{"memblock_virt_alloc_node", ExtAPI::EFT_KALLOC},
	{"memblock_virt_alloc_node_nopanic", ExtAPI::EFT_KALLOC},
	{"memblock_virt_alloc_nopanic", ExtAPI::EFT_KALLOC},
	{"memblock_virt_alloc_try_nid", ExtAPI::EFT_KALLOC},
	{"memblock_virt_alloc_try_nid_nopanic", ExtAPI::EFT_KALLOC},
	{"mempool_alloc", ExtAPI::EFT_KALLOC},
	{"mempool_alloc_pages", ExtAPI::EFT_KALLOC},
	{"mempool_alloc_pages_isa", ExtAPI::EFT_KALLOC},
	{"mempool_alloc_slab", ExtAPI::EFT_KALLOC},
	{"mempool_kmalloc", ExtAPI::EFT_KALLOC},
	{"mm_alloc", ExtAPI::EFT_KALLOC},
	{"module_alloc", ExtAPI::EFT_KALLOC},
	{"module_alloc_update_bounds", ExtAPI::EFT_KALLOC},
	{"mpage_alloc", ExtAPI::EFT_KALLOC},
	{"mpi_alloc", ExtAPI::EFT_KALLOC},
	{"mpi_alloc_limb_space", ExtAPI::EFT_KALLOC},
	{"msrs_alloc", ExtAPI::EFT_KALLOC},
	{"page_cache_alloc_cold", ExtAPI::EFT_KALLOC},
	{"page_cache_alloc_readahead", ExtAPI::EFT_KALLOC},
	{"pci_alloc_bus", ExtAPI::EFT_KALLOC},
	{"pci_alloc_child_bus", ExtAPI::EFT_KALLOC},
	{"pci_alloc_dev", ExtAPI::EFT_KALLOC},
	{"pci_alloc_host_bridge", ExtAPI::EFT_KALLOC},
	{"pcpu_alloc", ExtAPI::EFT_KALLOC},
	{"pcpu_alloc_alloc_info", ExtAPI::EFT_KALLOC},
	{"pcpu_alloc_bootmem", ExtAPI::EFT_KALLOC},
	{"pcpu_alloc_chunk", ExtAPI::EFT_KALLOC},
	{"pcpu_build_alloc_info", ExtAPI::EFT_KALLOC},
	{"pcpu_fc_alloc", ExtAPI::EFT_KALLOC},
	{"pcpu_mem_zalloc", ExtAPI::EFT_KALLOC},
	{"perf_cgroup_css_alloc", ExtAPI::EFT_KALLOC},
	{"perf_event_alloc", ExtAPI::EFT_KALLOC},
	{"perf_mmap_alloc_page", ExtAPI::EFT_KALLOC},
	{"pgd_alloc", ExtAPI::EFT_KALLOC},
	{"pidlist_allocate", ExtAPI::EFT_KALLOC},
	{"platform_device_alloc", ExtAPI::EFT_KALLOC},
	{"pmd_alloc", ExtAPI::EFT_KALLOC},
	{"pmd_alloc.2189", ExtAPI::EFT_KALLOC},
	{"pmd_alloc.2450", ExtAPI::EFT_KALLOC},
	{"pmd_alloc.3330", ExtAPI::EFT_KALLOC},
	{"pmd_alloc_one", ExtAPI::EFT_KALLOC},
	{"pool_alloc_page", ExtAPI::EFT_KALLOC},
	{"posix_acl_alloc", ExtAPI::EFT_KALLOC},
	{"proc_alloc_inode", ExtAPI::EFT_KALLOC},
	{"pte_alloc_one", ExtAPI::EFT_KALLOC},
	{"pte_alloc_one_kernel", ExtAPI::EFT_KALLOC},
	{"pud_alloc", ExtAPI::EFT_KALLOC},
	{"pud_alloc_one", ExtAPI::EFT_KALLOC},
	{"rb_alloc", ExtAPI::EFT_KALLOC},
	{"rb_allocate_cpu_buffer", ExtAPI::EFT_KALLOC},
	{"regcache_rbtree_node_alloc", ExtAPI::EFT_KALLOC},
	{"regmap_field_alloc", ExtAPI::EFT_KALLOC},
	{"relay_alloc_buf", ExtAPI::EFT_KALLOC},
	{"relay_alloc_page_array", ExtAPI::EFT_KALLOC},
	{"resv_map_alloc", ExtAPI::EFT_KALLOC},
	{"ring_buffer_alloc_read_page", ExtAPI::EFT_KALLOC},
	{"scsi_alloc_host_cmd_pool", ExtAPI::EFT_KALLOC},
	{"scsi_alloc_queue", ExtAPI::EFT_KALLOC},
	{"scsi_alloc_sdev", ExtAPI::EFT_KALLOC},
	{"scsi_alloc_target", ExtAPI::EFT_KALLOC},
	{"scsi_host_alloc", ExtAPI::EFT_KALLOC},
	{"scsi_mq_alloc_queue", ExtAPI::EFT_KALLOC},
	{"scsi_sg_alloc", ExtAPI::EFT_KALLOC},
	{"sdev_evt_alloc", ExtAPI::EFT_KALLOC},
	{"seq_buf_alloc", ExtAPI::EFT_KALLOC},
	{"sg_alloc", ExtAPI::EFT_KALLOC},
	{"sg_kmalloc", ExtAPI::EFT_KALLOC},
	{"shash_alloc_instance", ExtAPI::EFT_KALLOC},
	{"shmem_alloc_inode", ExtAPI::EFT_KALLOC},
	{"shmem_alloc_page", ExtAPI::EFT_KALLOC},
	{"sigqueue_alloc", ExtAPI::EFT_KALLOC},
	{"simple_xattr_alloc", ExtAPI::EFT_KALLOC},
	{"skcipher_geniv_alloc", ExtAPI::EFT_KALLOC},
	{"slab_alloc", ExtAPI::EFT_KALLOC},
	{"slab_alloc_node", ExtAPI::EFT_KALLOC},
	{"slab_pre_alloc_hook", ExtAPI::EFT_KALLOC},
	{"sp_alloc", ExtAPI::EFT_KALLOC},
	{"sparse_early_usemaps_alloc_pgdat_section", ExtAPI::EFT_KALLOC},
	{"sparse_index_alloc", ExtAPI::EFT_KALLOC},
	{"swiotlb_alloc_coherent", ExtAPI::EFT_KALLOC},
	{"trusted_options_alloc", ExtAPI::EFT_KALLOC},
	{"trusted_payload_alloc", ExtAPI::EFT_KALLOC},
	{"tty_buffer_alloc", ExtAPI::EFT_KALLOC},
	{"uncore_alloc_box", ExtAPI::EFT_KALLOC},
	{"vb_alloc", ExtAPI::EFT_KALLOC},
	{"vc_deallocate", ExtAPI::EFT_KALLOC},
	{"vmalloc", ExtAPI::EFT_KALLOC},
	{"vmalloc_32", ExtAPI::EFT_KALLOC},
	{"vmalloc_32_user", ExtAPI::EFT_KALLOC},
	{"vmalloc_exec", ExtAPI::EFT_KALLOC},
	{"vmalloc_node", ExtAPI::EFT_KALLOC},
	{"vmalloc_to_page", ExtAPI::EFT_KALLOC},
	{"vmalloc_user", ExtAPI::EFT_KALLOC},
	{"vmemmap_alloc_block", ExtAPI::EFT_KALLOC},
	{"vmemmap_alloc_block_buf", ExtAPI::EFT_KALLOC},
	{"vzalloc", ExtAPI::EFT_KALLOC},
	{"vzalloc_node", ExtAPI::EFT_KALLOC},
	{"x86_swiotlb_alloc_coherent", ExtAPI::EFT_KALLOC},
	{"zswap_entry_cache_alloc", ExtAPI::EFT_KALLOC},
	{"freezer_css_alloc", ExtAPI::EFT_KALLOC},
	{"__get_free_pages", ExtAPI::EFT_KALLOC},
	{"devm_get_free_pages", ExtAPI::EFT_KALLOC},
	{"fget", ExtAPI::EFT_KALLOC},
	{"new_handle", ExtAPI::EFT_KALLOC},
	{"kobject_create", ExtAPI::EFT_KALLOC},
	{"new_inode", ExtAPI::EFT_KALLOC},
	{"alloc_ldt_struct", ExtAPI::EFT_KALLOC},
	{"prepare_creds", ExtAPI::EFT_KALLOC},
	{"__request_region", ExtAPI::EFT_KALLOC},
	{"sget", ExtAPI::EFT_KALLOC},
	{"__proc_create", ExtAPI::EFT_KALLOC},
	{"sg_add_request", ExtAPI::EFT_KALLOC},

	{"\01mmap64", ExtAPI::EFT_NOSTRUCT_ALLOC},
	//FIXME: this is like realloc but with arg1.
	{"X509_NAME_oneline", ExtAPI::EFT_NOSTRUCT_ALLOC},
	{"X509_verify_cert_error_string", ExtAPI::EFT_NOSTRUCT_ALLOC},
	{"XBaseFontNameListOfFontSet", ExtAPI::EFT_NOSTRUCT_ALLOC},
	{"XGetAtomName", ExtAPI::EFT_NOSTRUCT_ALLOC},
	{"XGetDefault", ExtAPI::EFT_NOSTRUCT_ALLOC},
	{"XGetKeyboardMapping", ExtAPI::EFT_NOSTRUCT_ALLOC},
	{"XListDepths", ExtAPI::EFT_NOSTRUCT_ALLOC},
	{"XListFonts", ExtAPI::EFT_NOSTRUCT_ALLOC},
	{"XSetLocaleModifiers", ExtAPI::EFT_NOSTRUCT_ALLOC},
	{"XcursorGetTheme", ExtAPI::EFT_NOSTRUCT_ALLOC},
	{"__strdup", ExtAPI::EFT_NOSTRUCT_ALLOC},
	{"crypt", ExtAPI::EFT_NOSTRUCT_ALLOC},
	{"ctime", ExtAPI::EFT_NOSTRUCT_ALLOC},
	{"dlerror", ExtAPI::EFT_NOSTRUCT_ALLOC},
	{"dlopen", ExtAPI::EFT_NOSTRUCT_ALLOC},
	{"gai_strerror", ExtAPI::EFT_NOSTRUCT_ALLOC},
	{"gcry_cipher_algo_name", ExtAPI::EFT_NOSTRUCT_ALLOC},
	{"gcry_md_algo_name", ExtAPI::EFT_NOSTRUCT_ALLOC},
	{"gcry_md_read", ExtAPI::EFT_NOSTRUCT_ALLOC},
	{"getenv", ExtAPI::EFT_NOSTRUCT_ALLOC},
	{"getlogin", ExtAPI::EFT_NOSTRUCT_ALLOC},
	{"getpass", ExtAPI::EFT_NOSTRUCT_ALLOC},
	{"gnutls_strerror", ExtAPI::EFT_NOSTRUCT_ALLOC},
	{"gpg_strerror", ExtAPI::EFT_NOSTRUCT_ALLOC},
	{"gzerror", ExtAPI::EFT_NOSTRUCT_ALLOC},
	{"inet_ntoa", ExtAPI::EFT_NOSTRUCT_ALLOC},
	{"initscr", ExtAPI::EFT_NOSTRUCT_ALLOC},
	{"llvm.stacksave", ExtAPI::EFT_NOSTRUCT_ALLOC},
	{"mmap", ExtAPI::EFT_NOSTRUCT_ALLOC},
	{"mmap64", ExtAPI::EFT_NOSTRUCT_ALLOC},
	{"newwin", ExtAPI::EFT_NOSTRUCT_ALLOC},
	{"nl_langinfo", ExtAPI::EFT_NOSTRUCT_ALLOC},
	{"opendir", ExtAPI::EFT_NOSTRUCT_ALLOC},
	{"sbrk", ExtAPI::EFT_NOSTRUCT_ALLOC},
	{"strdup", ExtAPI::EFT_NOSTRUCT_ALLOC},
	{"strerror", ExtAPI::EFT_NOSTRUCT_ALLOC},
	{"strsignal", ExtAPI::EFT_NOSTRUCT_ALLOC},
	{"textdomain", ExtAPI::EFT_NOSTRUCT_ALLOC},
	{"tgetstr", ExtAPI::EFT_NOSTRUCT_ALLOC},
	{"tigetstr", ExtAPI::EFT_NOSTRUCT_ALLOC},
	{"tmpnam", ExtAPI::EFT_NOSTRUCT_ALLOC},
	{"ttyname", ExtAPI::EFT_NOSTRUCT_ALLOC},

	{"__ctype_b_loc", ExtAPI::EFT_STAT2},
	{"__ctype_tolower_loc", ExtAPI::EFT_STAT2},
	{"__ctype_toupper_loc", ExtAPI::EFT_STAT2},

	{"XKeysymToString", ExtAPI::EFT_STAT},
	{"__errno_location", ExtAPI::EFT_STAT},
	{"__h_errno_location", ExtAPI::EFT_STAT},
	{"__res_state", ExtAPI::EFT_STAT},
	{"asctime", ExtAPI::EFT_STAT},
	{"bindtextdomain", ExtAPI::EFT_STAT},
	{"bind_textdomain_codeset", ExtAPI::EFT_STAT},
	//This is L_A0 when arg0 is not null.
	{"ctermid", ExtAPI::EFT_STAT},
	{"dcgettext", ExtAPI::EFT_STAT},
	{"dgettext", ExtAPI::EFT_STAT},
	{"dngettext", ExtAPI::EFT_STAT},
	{"fdopen", ExtAPI::EFT_STAT},
	{"gcry_strerror", ExtAPI::EFT_STAT},
	{"gcry_strsource", ExtAPI::EFT_STAT},
	{"getgrgid", ExtAPI::EFT_STAT},
	{"getgrnam", ExtAPI::EFT_STAT},
	{"gethostbyaddr", ExtAPI::EFT_STAT},
	{"gethostbyname", ExtAPI::EFT_STAT},
	{"gethostbyname2", ExtAPI::EFT_STAT},
	{"getmntent", ExtAPI::EFT_STAT},
	{"getprotobyname", ExtAPI::EFT_STAT},
	{"getprotobynumber", ExtAPI::EFT_STAT},
	{"getpwent", ExtAPI::EFT_STAT},
	{"getpwnam", ExtAPI::EFT_STAT},
	{"getpwuid", ExtAPI::EFT_STAT},
	{"getservbyname", ExtAPI::EFT_STAT},
	{"getservbyport", ExtAPI::EFT_STAT},
	{"getspnam", ExtAPI::EFT_STAT},
	{"gettext", ExtAPI::EFT_STAT},
	{"gmtime", ExtAPI::EFT_STAT},
	{"gnu_get_libc_version", ExtAPI::EFT_STAT},
	{"gnutls_check_version", ExtAPI::EFT_STAT},
	{"localeconv", ExtAPI::EFT_STAT},
	{"localtime", ExtAPI::EFT_STAT},
	{"ngettext", ExtAPI::EFT_STAT},
	{"pango_cairo_font_map_get_default", ExtAPI::EFT_STAT},
	{"re_comp", ExtAPI::EFT_STAT},
	{"setlocale", ExtAPI::EFT_STAT},
	{"tgoto", ExtAPI::EFT_STAT},
	{"tparm", ExtAPI::EFT_STAT},
	{"zError", ExtAPI::EFT_STAT},

	{"getcwd", ExtAPI::EFT_REALLOC},
	{"mem_realloc", ExtAPI::EFT_REALLOC},
	{"realloc", ExtAPI::EFT_REALLOC},
	{"realloc_obj", ExtAPI::EFT_REALLOC},
	{"safe_realloc", ExtAPI::EFT_REALLOC},
	{"saferealloc", ExtAPI::EFT_REALLOC},
	{"safexrealloc", ExtAPI::EFT_REALLOC},
	//FIXME: when arg0 is null, the return points into the string that was
	//  last passed in arg0 (rather than a new string, as for realloc).
	{"strtok", ExtAPI::EFT_REALLOC},
	//As above, but also stores the last string into *arg2.
	{"strtok_r", ExtAPI::EFT_REALLOC},
	{"xrealloc", ExtAPI::EFT_REALLOC},

	{"SSL_CTX_free", ExtAPI::EFT_FREE},
	{"SSL_free", ExtAPI::EFT_FREE},
	{"cfree", ExtAPI::EFT_FREE},
	{"free", ExtAPI::EFT_FREE},
	{"free_all_mem", ExtAPI::EFT_FREE},
	{"freeaddrinfo", ExtAPI::EFT_FREE},
	{"gcry_mpi_release", ExtAPI::EFT_FREE},
	{"gcry_sexp_release", ExtAPI::EFT_FREE},
	{"globfree", ExtAPI::EFT_FREE},
	{"nhfree", ExtAPI::EFT_FREE},
	{"obstack_free", ExtAPI::EFT_FREE},
	{"safe_cfree", ExtAPI::EFT_FREE},
	{"safe_free", ExtAPI::EFT_FREE},
	{"safefree", ExtAPI::EFT_FREE},
	{"safexfree", ExtAPI::EFT_FREE},
	{"sm_free", ExtAPI::EFT_FREE},
	{"vim_free", ExtAPI::EFT_FREE},
	{"xfree", ExtAPI::EFT_FREE},
	{"fclose", ExtAPI::EFT_FREE},
	//C++ functions
	{"_ZdaPv", ExtAPI::EFT_FREE},	// delete
	{"_ZdlPv", ExtAPI::EFT_FREE},	// delete []
	//Kernel functions; these are only subnames.
//	{"kfree", ExtAPI::EFT_KFREE},
//	{"kzfree", ExtAPI::EFT_KFREE},
//	{"vfree", ExtAPI::EFT_KFREE},
//	{"kmem_cache_free", ExtAPI::EFT_KFREE},

	{"__bio_free", ExtAPI::EFT_KFREE},
	{"__blk_queue_free_tags", ExtAPI::EFT_KFREE},
	{"__bpf_prog_free", ExtAPI::EFT_KFREE},
	{"__cpufreq_stats_free_table", ExtAPI::EFT_KFREE},
	{"__d_free", ExtAPI::EFT_KFREE},
	{"__d_free_external", ExtAPI::EFT_KFREE},
	{"__dquot_free_space", ExtAPI::EFT_KFREE},
	{"__free_event", ExtAPI::EFT_KFREE},
	{"__free_fdtable", ExtAPI::EFT_KFREE},
	{"__free_filter", ExtAPI::EFT_KFREE},
	{"__free_kmem_pages", ExtAPI::EFT_KFREE},
	{"__free_pages", ExtAPI::EFT_KFREE},
	{"__free_pages_bootmem", ExtAPI::EFT_KFREE},
	{"__free_pages_memory", ExtAPI::EFT_KFREE},
	{"__free_pages_ok", ExtAPI::EFT_KFREE},
	{"__free_percpu_irq", ExtAPI::EFT_KFREE},
	{"__free_pred_stack", ExtAPI::EFT_KFREE},
	{"__free_preds", ExtAPI::EFT_KFREE},
	{"__free_reserved_page", ExtAPI::EFT_KFREE},
	{"__free_subsystem_filter", ExtAPI::EFT_KFREE},
	{"__free_vmap_area", ExtAPI::EFT_KFREE},
	{"__freed_request", ExtAPI::EFT_KFREE},
	{"__fw_free_buf", ExtAPI::EFT_KFREE},
	{"__gpiod_free", ExtAPI::EFT_KFREE},
	{"__kfifo_free", ExtAPI::EFT_KFREE},
	{"__kfree_section_memmap", ExtAPI::EFT_KFREE},
	{"__mem_cgroup_free", ExtAPI::EFT_KFREE},
	{"__memblock_free_early", ExtAPI::EFT_KFREE},
	{"__memblock_free_late", ExtAPI::EFT_KFREE},
	{"__mod_zone_freepage_state", ExtAPI::EFT_KFREE},
	{"__online_page_free", ExtAPI::EFT_KFREE},
	{"__sdt_free", ExtAPI::EFT_KFREE},
	{"__sigqueue_free", ExtAPI::EFT_KFREE},
	{"__try_to_free_cp_buf", ExtAPI::EFT_KFREE},
	{"__wait_on_freeing_inode", ExtAPI::EFT_KFREE},
	{"_free_event", ExtAPI::EFT_KFREE},
	{"ablkcipher_request_free", ExtAPI::EFT_KFREE},
	{"acpi_gpiochip_free_interrupts", ExtAPI::EFT_KFREE},
	{"aead_geniv_free", ExtAPI::EFT_KFREE},
	{"aead_request_free", ExtAPI::EFT_KFREE},
	{"agp_free_memory", ExtAPI::EFT_KFREE},
	{"agp_free_memory_wrap", ExtAPI::EFT_KFREE},
	{"agp_free_page_array", ExtAPI::EFT_KFREE},
	{"agp_generic_free_by_type", ExtAPI::EFT_KFREE},
	{"agp_generic_free_gatt_table", ExtAPI::EFT_KFREE},
	{"ahash_free_instance", ExtAPI::EFT_KFREE},
	{"ahash_request_free", ExtAPI::EFT_KFREE},
	{"aio_free_ring", ExtAPI::EFT_KFREE},
	{"anon_vma_chain_free", ExtAPI::EFT_KFREE},
	{"anon_vma_free", ExtAPI::EFT_KFREE},
	{"arch_free_page", ExtAPI::EFT_KFREE},
	{"argv_free", ExtAPI::EFT_KFREE},
	{"array_map_free", ExtAPI::EFT_KFREE},
	{"asymmetric_key_free_preparse", ExtAPI::EFT_KFREE},
	{"asymmetric_key_match_free", ExtAPI::EFT_KFREE},
	{"ats_free_one", ExtAPI::EFT_KFREE},
//	{"audit_free", ExtAPI::EFT_KFREE},
	{"autogroup_free", ExtAPI::EFT_KFREE},
	{"big_key_free_preparse", ExtAPI::EFT_KFREE},
	{"bio_free", ExtAPI::EFT_KFREE},
	{"bio_integrity_free", ExtAPI::EFT_KFREE},
	{"bioset_free", ExtAPI::EFT_KFREE},
	{"bioset_integrity_free", ExtAPI::EFT_KFREE},
	{"bitmap_find_free_region", ExtAPI::EFT_KFREE},
	//{"blk_free_devt", ExtAPI::EFT_KFREE},
	{"blk_free_flush_queue", ExtAPI::EFT_KFREE},
	{"blk_free_queue_rcu", ExtAPI::EFT_KFREE},
	{"blk_free_tags", ExtAPI::EFT_KFREE},
	{"blk_mq_free_bitmap", ExtAPI::EFT_KFREE},
	{"blk_mq_free_queue", ExtAPI::EFT_KFREE},
	{"blk_mq_free_request", ExtAPI::EFT_KFREE},
	{"blk_mq_free_tag_set", ExtAPI::EFT_KFREE},
	{"blk_mq_free_tags", ExtAPI::EFT_KFREE},
	{"blk_mq_has_free_tags", ExtAPI::EFT_KFREE},
	{"blk_queue_free_tags", ExtAPI::EFT_KFREE},
	{"blkcg_css_free", ExtAPI::EFT_KFREE},
	{"blkg_free", ExtAPI::EFT_KFREE},
	{"bpf_jit_free", ExtAPI::EFT_KFREE},
	{"bpf_map_free_deferred", ExtAPI::EFT_KFREE},
	{"bpf_prog_free", ExtAPI::EFT_KFREE},
	{"bpf_prog_free_deferred", ExtAPI::EFT_KFREE},
	{"bpf_prog_unlock_free", ExtAPI::EFT_KFREE},
	{"bsg_free_command", ExtAPI::EFT_KFREE},
	{"bt_free", ExtAPI::EFT_KFREE},
	{"bt_has_free_tags", ExtAPI::EFT_KFREE},
	{"bucket_table_free", ExtAPI::EFT_KFREE},
	{"buffer_freed", ExtAPI::EFT_KFREE},
	{"calgary_free_bus", ExtAPI::EFT_KFREE},
	{"call_usermodehelper_freeinfo", ExtAPI::EFT_KFREE},
	{"cap_cred_free", ExtAPI::EFT_KFREE},
	{"cap_file_free_security", ExtAPI::EFT_KFREE},
	{"cap_inode_free_security", ExtAPI::EFT_KFREE},
	{"cap_key_free", ExtAPI::EFT_KFREE},
	{"cap_msg_msg_free_security", ExtAPI::EFT_KFREE},
	{"cap_msg_queue_free_security", ExtAPI::EFT_KFREE},
	{"cap_sb_free_security", ExtAPI::EFT_KFREE},
	{"cap_sem_free_security", ExtAPI::EFT_KFREE},
	{"cap_shm_free_security", ExtAPI::EFT_KFREE},
	{"cap_sk_free_security", ExtAPI::EFT_KFREE},
	{"cap_task_free", ExtAPI::EFT_KFREE},
	{"cap_tun_dev_free_security", ExtAPI::EFT_KFREE},
	{"cgroup_free_root", ExtAPI::EFT_KFREE},
	{"chainiv_free", ExtAPI::EFT_KFREE},
	{"check_free_space", ExtAPI::EFT_KFREE},
	{"clear_buffer_freed", ExtAPI::EFT_KFREE},
	{"cluster_is_free", ExtAPI::EFT_KFREE},
	{"cmdline_parts_free", ExtAPI::EFT_KFREE},
	{"compaction_free", ExtAPI::EFT_KFREE},
	{"con_free_unimap", ExtAPI::EFT_KFREE},
	{"count_free", ExtAPI::EFT_KFREE},
	{"cpu_cgroup_css_free", ExtAPI::EFT_KFREE},
	{"cpuacct_css_free", ExtAPI::EFT_KFREE},
	{"cpufreq_policy_free", ExtAPI::EFT_KFREE},
	{"cpufreq_stats_free_table", ExtAPI::EFT_KFREE},
	{"cpuidle_free_state_kobj", ExtAPI::EFT_KFREE},
	{"cpuset_css_free", ExtAPI::EFT_KFREE},
	{"crash_free_reserved_phys_range", ExtAPI::EFT_KFREE},
	{"crypto_cbc_free", ExtAPI::EFT_KFREE},
	{"crypto_ecb_free", ExtAPI::EFT_KFREE},
	{"crypto_free_ablkcipher", ExtAPI::EFT_KFREE},
	{"crypto_free_aead", ExtAPI::EFT_KFREE},
	{"crypto_free_ahash", ExtAPI::EFT_KFREE},
	{"crypto_free_blkcipher", ExtAPI::EFT_KFREE},
	{"crypto_free_cipher", ExtAPI::EFT_KFREE},
	{"crypto_free_comp", ExtAPI::EFT_KFREE},
	{"crypto_free_hash", ExtAPI::EFT_KFREE},
	{"crypto_free_pcomp", ExtAPI::EFT_KFREE},
	{"crypto_free_rng", ExtAPI::EFT_KFREE},
	{"crypto_free_shash", ExtAPI::EFT_KFREE},
	{"crypto_free_tfm", ExtAPI::EFT_KFREE},
	{"css_free_rcu_fn", ExtAPI::EFT_KFREE},
	{"css_free_work_fn", ExtAPI::EFT_KFREE},
	{"ddebug_table_free", ExtAPI::EFT_KFREE},
	{"debug_check_no_locks_freed", ExtAPI::EFT_KFREE},
	{"debug_check_no_obj_freed", ExtAPI::EFT_KFREE},
	{"delayacct_tsk_free", ExtAPI::EFT_KFREE},
	{"delayed_free", ExtAPI::EFT_KFREE},
	{"delayed_free_pidns", ExtAPI::EFT_KFREE},
	{"delayed_free_vfsmnt", ExtAPI::EFT_KFREE},
	{"dentry_free", ExtAPI::EFT_KFREE},
	{"devcgroup_css_free", ExtAPI::EFT_KFREE},
	{"devm_free_pages", ExtAPI::EFT_KFREE},
	{"devm_gpio_free", ExtAPI::EFT_KFREE},
	{"devres_free", ExtAPI::EFT_KFREE},
	{"dissolve_free_huge_page", ExtAPI::EFT_KFREE},
	{"dma_common_free_remap", ExtAPI::EFT_KFREE},
	{"dnotify_free_mark", ExtAPI::EFT_KFREE},
	{"dquot_free_block", ExtAPI::EFT_KFREE},
	{"dquot_free_inode", ExtAPI::EFT_KFREE},
	{"dquot_free_reserved_space", ExtAPI::EFT_KFREE},
	{"dquot_free_space", ExtAPI::EFT_KFREE},
	{"dquot_free_space_nodirty", ExtAPI::EFT_KFREE},
	{"ecryptfs_acquire_free_msg_ctx", ExtAPI::EFT_KFREE},
	{"ecryptfs_dentry_free_rcu", ExtAPI::EFT_KFREE},
	{"ecryptfs_msg_ctx_alloc_to_free", ExtAPI::EFT_KFREE},
	{"ecryptfs_msg_ctx_free_to_alloc", ExtAPI::EFT_KFREE},
	{"encrypted_rcu_free", ExtAPI::EFT_KFREE},
	{"ep_free", ExtAPI::EFT_KFREE},
	{"epi_rcu_free", ExtAPI::EFT_KFREE},
	{"eseqiv_free", ExtAPI::EFT_KFREE},
	{"evdev_free", ExtAPI::EFT_KFREE},
	{"eventfd_free", ExtAPI::EFT_KFREE},
	{"eventfd_free_ctx", ExtAPI::EFT_KFREE},
	{"ext4_claim_free_clusters", ExtAPI::EFT_KFREE},
	{"ext4_count_free", ExtAPI::EFT_KFREE},
	{"ext4_count_free_clusters", ExtAPI::EFT_KFREE},
	{"ext4_count_free_inodes", ExtAPI::EFT_KFREE},
	{"ext4_free_blocks_count", ExtAPI::EFT_KFREE},
	{"ext4_free_blocks_count_set", ExtAPI::EFT_KFREE},
	{"ext4_has_free_clusters", ExtAPI::EFT_KFREE},
	{"ext4_htree_free_dir_info", ExtAPI::EFT_KFREE},
	{"ext4_print_free_blocks", ExtAPI::EFT_KFREE},
	{"ext4_trim_all_free", ExtAPI::EFT_KFREE},
	{"fanotify_free_event", ExtAPI::EFT_KFREE},
	{"fanotify_free_group_priv", ExtAPI::EFT_KFREE},
	{"fanotify_free_mark", ExtAPI::EFT_KFREE},
	{"fasync_free", ExtAPI::EFT_KFREE},
	{"fasync_free_rcu", ExtAPI::EFT_KFREE},
	{"fat_cache_free", ExtAPI::EFT_KFREE},
	{"fat_count_free_clusters", ExtAPI::EFT_KFREE},
	{"fat_free", ExtAPI::EFT_KFREE},
	{"fat_free_clusters", ExtAPI::EFT_KFREE},
	{"fbcon_free_font", ExtAPI::EFT_KFREE},
	{"file_free", ExtAPI::EFT_KFREE},
	{"file_free_rcu", ExtAPI::EFT_KFREE},
	{"find_free_bus_resource", ExtAPI::EFT_KFREE},
	{"firmware_free_data", ExtAPI::EFT_KFREE},
	{"flex_array_free", ExtAPI::EFT_KFREE},
	{"flex_array_free_parts", ExtAPI::EFT_KFREE},
	{"fpu_free", ExtAPI::EFT_KFREE},
	{"free_aggr_kprobe", ExtAPI::EFT_KFREE},
	{"free_area_init", ExtAPI::EFT_KFREE},
	{"free_area_init_nodes", ExtAPI::EFT_KFREE},
	{"free_arg_page", ExtAPI::EFT_KFREE},
	{"free_arg_pages", ExtAPI::EFT_KFREE},
	{"free_bitfield_fetch_param", ExtAPI::EFT_KFREE},
	{"free_bootmem_node", ExtAPI::EFT_KFREE},
	{"free_bprm", ExtAPI::EFT_KFREE},
	{"free_buf", ExtAPI::EFT_KFREE},
	{"free_buffer_head", ExtAPI::EFT_KFREE},
	{"free_buffer_page", ExtAPI::EFT_KFREE},
	{"free_cgrp_cset_links", ExtAPI::EFT_KFREE},
	{"free_compound_page", ExtAPI::EFT_KFREE},
	{"free_copy", ExtAPI::EFT_KFREE},
	{"free_cpumask_var", ExtAPI::EFT_KFREE},
	{"free_dcookie", ExtAPI::EFT_KFREE},
	{"free_deref_fetch_param", ExtAPI::EFT_KFREE},
	{"free_event", ExtAPI::EFT_KFREE},
	{"free_event_filter", ExtAPI::EFT_KFREE},
	{"free_event_rcu", ExtAPI::EFT_KFREE},
	{"free_fair_sched_group", ExtAPI::EFT_KFREE},
	{"free_fake_cpuc", ExtAPI::EFT_KFREE},
	{"free_fdtable_rcu", ExtAPI::EFT_KFREE},
	{"free_flex_gd", ExtAPI::EFT_KFREE},
	{"free_fs_struct", ExtAPI::EFT_KFREE},
	{"free_gigantic_page", ExtAPI::EFT_KFREE},
	{"free_hot_cold_page", ExtAPI::EFT_KFREE},
	{"free_hot_cold_page_list", ExtAPI::EFT_KFREE},
	{"free_huge_page", ExtAPI::EFT_KFREE},
	{"free_init_pages", ExtAPI::EFT_KFREE},
	{"free_inode_nonrcu", ExtAPI::EFT_KFREE},
	{"free_insn_page", ExtAPI::EFT_KFREE},
	{"free_insn_slot", ExtAPI::EFT_KFREE},
	{"free_ioctx", ExtAPI::EFT_KFREE},
	{"free_ioctx_reqs", ExtAPI::EFT_KFREE},
	{"free_ioctx_users", ExtAPI::EFT_KFREE},
	{"free_ipc_ns", ExtAPI::EFT_KFREE},
	{"free_kclist_ents", ExtAPI::EFT_KFREE},
	{"free_kmem_cache_nodes", ExtAPI::EFT_KFREE},
	{"free_link", ExtAPI::EFT_KFREE},
	{"free_link_state", ExtAPI::EFT_KFREE},
	{"free_list", ExtAPI::EFT_KFREE},
	{"free_loc_track", ExtAPI::EFT_KFREE},
	{"free_map_bootmem", ExtAPI::EFT_KFREE},
	{"free_masks", ExtAPI::EFT_KFREE},
	{"free_mem_cgroup_per_zone_info", ExtAPI::EFT_KFREE},
	{"free_mm_slot", ExtAPI::EFT_KFREE},
	{"free_mnt_ns", ExtAPI::EFT_KFREE},
	{"free_modinfo", ExtAPI::EFT_KFREE},
	{"free_modinfo_srcversion", ExtAPI::EFT_KFREE},
	{"free_modinfo_version", ExtAPI::EFT_KFREE},
	{"free_modprobe_argv", ExtAPI::EFT_KFREE},
	{"free_module", ExtAPI::EFT_KFREE},
	{"free_module_param_attrs", ExtAPI::EFT_KFREE},
	{"free_msg", ExtAPI::EFT_KFREE},
	{"free_msi_irqs", ExtAPI::EFT_KFREE},
	{"free_notes_attrs", ExtAPI::EFT_KFREE},
	{"free_nsproxy", ExtAPI::EFT_KFREE},
	{"free_optinsn_slot", ExtAPI::EFT_KFREE},
	{"free_page_and_swap_cache", ExtAPI::EFT_KFREE},
	{"free_pages_and_swap_cache", ExtAPI::EFT_KFREE},
	{"free_pages_check", ExtAPI::EFT_KFREE},
	{"free_pages_exact", ExtAPI::EFT_KFREE},
	{"free_pages_prepare", ExtAPI::EFT_KFREE},
	{"free_pagetable", ExtAPI::EFT_KFREE},
	{"free_part_info", ExtAPI::EFT_KFREE},
	{"free_part_stats", ExtAPI::EFT_KFREE},
	{"free_partitions", ExtAPI::EFT_KFREE},
	{"free_percpu", ExtAPI::EFT_KFREE},
	{"free_percpu_irq", ExtAPI::EFT_KFREE},
	//{"free_pfn_range", ExtAPI::EFT_KFREE}, causes an error
	{"free_pgd_range", ExtAPI::EFT_KFREE},
	{"free_pgtables", ExtAPI::EFT_KFREE},
	{"free_pi_state", ExtAPI::EFT_KFREE},
	{"free_pid", ExtAPI::EFT_KFREE},
	{"free_pid_ns", ExtAPI::EFT_KFREE},
	{"free_pidmap", ExtAPI::EFT_KFREE},
	{"free_pipe_info", ExtAPI::EFT_KFREE},
	{"free_pmds", ExtAPI::EFT_KFREE},
	{"free_pmu_context", ExtAPI::EFT_KFREE},
	{"free_poll_entry", ExtAPI::EFT_KFREE},
	{"free_proc_entry", ExtAPI::EFT_KFREE},
	{"free_rb_tree_fname", ExtAPI::EFT_KFREE},
	{"free_reserved_page", ExtAPI::EFT_KFREE},
	{"free_resource", ExtAPI::EFT_KFREE},
	{"free_rmap_item", ExtAPI::EFT_KFREE},
	{"free_rootdomain", ExtAPI::EFT_KFREE},
	{"free_rp_inst", ExtAPI::EFT_KFREE},
	{"free_rt_sched_group", ExtAPI::EFT_KFREE},
	{"free_saved_cmdlines_buffer", ExtAPI::EFT_KFREE},
	{"free_sched_domain", ExtAPI::EFT_KFREE},
	{"free_sched_domains", ExtAPI::EFT_KFREE},
	{"free_sched_group", ExtAPI::EFT_KFREE},
	{"free_sched_group_rcu", ExtAPI::EFT_KFREE},
	{"free_sched_groups", ExtAPI::EFT_KFREE},
	{"free_secdata", ExtAPI::EFT_KFREE},
	{"free_sect_attrs", ExtAPI::EFT_KFREE},
	{"free_section_usemap", ExtAPI::EFT_KFREE},
	{"free_signal_struct", ExtAPI::EFT_KFREE},
	{"free_stable_node", ExtAPI::EFT_KFREE},
	{"free_states", ExtAPI::EFT_KFREE},
	{"free_subpart", ExtAPI::EFT_KFREE},
	{"free_swap_cache", ExtAPI::EFT_KFREE},
	{"free_swap_count_continuations", ExtAPI::EFT_KFREE},
	{"free_symbol_cache", ExtAPI::EFT_KFREE},
	{"free_task", ExtAPI::EFT_KFREE},
	{"free_task_struct", ExtAPI::EFT_KFREE},
	{"free_tce_table", ExtAPI::EFT_KFREE},
	{"free_thread_info", ExtAPI::EFT_KFREE},
	{"free_thread_xstate", ExtAPI::EFT_KFREE},
	{"free_trace_buffer", ExtAPI::EFT_KFREE},
	{"free_trace_buffers", ExtAPI::EFT_KFREE},
	{"free_trace_kprobe", ExtAPI::EFT_KFREE},
	{"free_transition_pgtable", ExtAPI::EFT_KFREE},
	{"free_trial_cpuset", ExtAPI::EFT_KFREE},
	{"free_tty_struct", ExtAPI::EFT_KFREE},
	{"free_uid", ExtAPI::EFT_KFREE},
	{"free_unbound_pwq", ExtAPI::EFT_KFREE},
	{"free_unmap_vmap_area", ExtAPI::EFT_KFREE},
	{"free_unmap_vmap_area_noflush", ExtAPI::EFT_KFREE},
	{"free_used_maps", ExtAPI::EFT_KFREE},
	{"free_user", ExtAPI::EFT_KFREE},
	{"free_user_ns", ExtAPI::EFT_KFREE},
	{"free_uts_ns", ExtAPI::EFT_KFREE},
	{"free_vfsmnt", ExtAPI::EFT_KFREE},
	{"free_vm_area", ExtAPI::EFT_KFREE},
	{"free_vmap_area", ExtAPI::EFT_KFREE},
	{"free_vmap_area_noflush", ExtAPI::EFT_KFREE},
	{"free_vmap_block", ExtAPI::EFT_KFREE},
	{"free_work", ExtAPI::EFT_KFREE},
	{"free_workqueue_attrs", ExtAPI::EFT_KFREE},
	{"free_zbud_page", ExtAPI::EFT_KFREE},
	{"free_zspage", ExtAPI::EFT_KFREE},
	{"freed_request", ExtAPI::EFT_KFREE},
	{"fsnotify_oldname_free", ExtAPI::EFT_KFREE},
	{"ftrace_define_fields_ext4_free_blocks", ExtAPI::EFT_KFREE},
	{"ftrace_define_fields_ext4_free_inode", ExtAPI::EFT_KFREE},
	{"ftrace_define_fields_kmem_free", ExtAPI::EFT_KFREE},
	{"ftrace_define_fields_mm_page_free", ExtAPI::EFT_KFREE},
	{"ftrace_define_fields_mm_page_free_batched", ExtAPI::EFT_KFREE},
	{"ftrace_define_fields_module_free", ExtAPI::EFT_KFREE},
	{"ftrace_profile_free_filter", ExtAPI::EFT_KFREE},
	{"fuse_file_free", ExtAPI::EFT_KFREE},
	{"fuse_free_conn", ExtAPI::EFT_KFREE},
	{"fuse_request_free", ExtAPI::EFT_KFREE},
	{"fw_free_buf", ExtAPI::EFT_KFREE},
	{"gen_pool_free", ExtAPI::EFT_KFREE},
	{"get_default_free_blocks_flags", ExtAPI::EFT_KFREE},
	{"gpio_free_array", ExtAPI::EFT_KFREE},
	{"gpiochip_free_own_desc", ExtAPI::EFT_KFREE},
	{"gpiod_free", ExtAPI::EFT_KFREE},
	{"groups_free", ExtAPI::EFT_KFREE},
	{"htab_map_free", ExtAPI::EFT_KFREE},
	{"hugetlb_cgroup_css_free", ExtAPI::EFT_KFREE},
	{"hugetlb_free_pgd_range", ExtAPI::EFT_KFREE},
	{"hugetlbfs_dec_free_inodes", ExtAPI::EFT_KFREE},
	{"hugetlbfs_inc_free_inodes", ExtAPI::EFT_KFREE},
	{"icq_free_icq_rcu", ExtAPI::EFT_KFREE},
	{"iint_free", ExtAPI::EFT_KFREE},
	{"ima_file_free", ExtAPI::EFT_KFREE},
	{"ima_free_atfm", ExtAPI::EFT_KFREE},
	{"ima_free_pages", ExtAPI::EFT_KFREE},
	{"ima_free_template_entry", ExtAPI::EFT_KFREE},
	{"ima_free_tfm", ExtAPI::EFT_KFREE},
	{"info_bdq_free", ExtAPI::EFT_KFREE},
	{"info_idq_free", ExtAPI::EFT_KFREE},
	{"inotify_free_event", ExtAPI::EFT_KFREE},
	{"inotify_free_group_priv", ExtAPI::EFT_KFREE},
	{"inotify_free_mark", ExtAPI::EFT_KFREE},
	{"input_free_device", ExtAPI::EFT_KFREE},
	{"integrity_inode_free", ExtAPI::EFT_KFREE},
	{"intel_fake_agp_free_gatt_table", ExtAPI::EFT_KFREE},
	{"intel_i810_free_by_type", ExtAPI::EFT_KFREE},
	{"iommu_free", ExtAPI::EFT_KFREE},
	{"ipc_free", ExtAPI::EFT_KFREE},
	{"ipc_rcu_free", ExtAPI::EFT_KFREE},
	{"is_free_buddy_page", ExtAPI::EFT_KFREE},
	{"is_hugepage_on_freelist", ExtAPI::EFT_KFREE},
	{"is_page_cache_freeable", ExtAPI::EFT_KFREE},
	{"isolate_freepages", ExtAPI::EFT_KFREE},
	{"isolate_freepages_range", ExtAPI::EFT_KFREE},
	{"jbd2_free", ExtAPI::EFT_KFREE},
	{"jbd2_free_handle", ExtAPI::EFT_KFREE},
	{"jbd2_free_inode", ExtAPI::EFT_KFREE},
	{"jbd2_journal_free_reserved", ExtAPI::EFT_KFREE},
	{"jbd2_journal_free_transaction", ExtAPI::EFT_KFREE},
	{"journal_free_journal_head", ExtAPI::EFT_KFREE},
	{"k_itimer_rcu_free", ExtAPI::EFT_KFREE},
	{"keyring_free_object", ExtAPI::EFT_KFREE},
	{"keyring_free_preparse", ExtAPI::EFT_KFREE},
	{"kfree", ExtAPI::EFT_KFREE},
	{"kfree_hook", ExtAPI::EFT_KFREE},
	{"kfree_skb", ExtAPI::EFT_KFREE},
	{"__kfree_skb", ExtAPI::EFT_KFREE},
	{"kimage_free", ExtAPI::EFT_KFREE},
	{"kimage_free_extra_pages", ExtAPI::EFT_KFREE},
	{"kimage_free_page_list", ExtAPI::EFT_KFREE},
	{"kimage_free_pages", ExtAPI::EFT_KFREE},
	{"kiocb_free", ExtAPI::EFT_KFREE},
	{"kmem_cache_free", ExtAPI::EFT_KFREE},
	{"kmemcheck_free_shadow", ExtAPI::EFT_KFREE},
	{"kmemleak_free", ExtAPI::EFT_KFREE},
	{"kmemleak_free_part", ExtAPI::EFT_KFREE},
	{"kmemleak_free_percpu", ExtAPI::EFT_KFREE},
	{"kmemleak_free_recursive", ExtAPI::EFT_KFREE},
	{"kvfree", ExtAPI::EFT_KFREE},
	{"kzfree", ExtAPI::EFT_KFREE},
	{"ldm_frag_free", ExtAPI::EFT_KFREE},
	{"ldm_free_vblks", ExtAPI::EFT_KFREE},
	{"locks_free_lock", ExtAPI::EFT_KFREE},
	{"maybe_kfree_parameter", ExtAPI::EFT_KFREE},
	{"mb_buddy_mark_free", ExtAPI::EFT_KFREE},
	{"mb_cache_entry_free", ExtAPI::EFT_KFREE},
	{"mem_cgroup_css_free", ExtAPI::EFT_KFREE},
	{"memcg_free_cache_params", ExtAPI::EFT_KFREE},
	{"mm_free_pgd", ExtAPI::EFT_KFREE},
	{"free_cache", ExtAPI::EFT_KFREE},
	{"mnt_free_id", ExtAPI::EFT_KFREE},
	{"module_unload_free", ExtAPI::EFT_KFREE},
	{"mousedev_free", ExtAPI::EFT_KFREE},
	{"mpi_free", ExtAPI::EFT_KFREE},
	{"mpi_free_limb_space", ExtAPI::EFT_KFREE},
	{"mpol_free_shared_policy", ExtAPI::EFT_KFREE},
	{"msg_rcu_free", ExtAPI::EFT_KFREE},
	{"msrs_free", ExtAPI::EFT_KFREE},
	{"num_free_chunks", ExtAPI::EFT_KFREE},
	{"pageblock_free", ExtAPI::EFT_KFREE},
	{"param_array_free", ExtAPI::EFT_KFREE},
	{"param_free_charp", ExtAPI::EFT_KFREE},
	{"paravirt_free_ldt", ExtAPI::EFT_KFREE},
	{"parse_freebsd", ExtAPI::EFT_KFREE},
	{"part_is_free", ExtAPI::EFT_KFREE},
	{"pci_free_cap_save_buffers", ExtAPI::EFT_KFREE},
	{"pci_free_dynids", ExtAPI::EFT_KFREE},
	{"pci_free_resource_list", ExtAPI::EFT_KFREE},
	{"pci_free_resources", ExtAPI::EFT_KFREE},
	{"pcpu_fc_free", ExtAPI::EFT_KFREE},
	{"pcpu_free_alloc_info", ExtAPI::EFT_KFREE},
	{"pcpu_free_chunk", ExtAPI::EFT_KFREE},
	{"pcpu_free_vm_areas", ExtAPI::EFT_KFREE},
	{"pcpu_mem_free", ExtAPI::EFT_KFREE},
	{"percpu_ida_free", ExtAPI::EFT_KFREE},
	{"percpu_ida_free_tags", ExtAPI::EFT_KFREE},
	{"percpu_modfree", ExtAPI::EFT_KFREE},
	{"perf_cgroup_css_free", ExtAPI::EFT_KFREE},
	{"perf_event_free_filter", ExtAPI::EFT_KFREE},
	{"perf_event_free_task", ExtAPI::EFT_KFREE},
	{"pidlist_free", ExtAPI::EFT_KFREE},
	{"pin_free_rcu", ExtAPI::EFT_KFREE},
	{"pkcs7_free_message", ExtAPI::EFT_KFREE},
	{"pkcs7_free_signed_info", ExtAPI::EFT_KFREE},
	{"poll_freewait", ExtAPI::EFT_KFREE},
	{"ptlock_free", ExtAPI::EFT_KFREE},
	{"rb_free", ExtAPI::EFT_KFREE},
	{"rb_free_cpu_buffer", ExtAPI::EFT_KFREE},
	{"rb_free_rcu", ExtAPI::EFT_KFREE},
	{"rc5t583_gpio_free", ExtAPI::EFT_KFREE},
	{"rcu_free_old_probes", ExtAPI::EFT_KFREE},
	{"rcu_free_pool", ExtAPI::EFT_KFREE},
	{"rcu_free_pwq", ExtAPI::EFT_KFREE},
	{"rcu_free_slab", ExtAPI::EFT_KFREE},
	{"regmap_debugfs_free_dump_cache", ExtAPI::EFT_KFREE},
	{"regmap_field_free", ExtAPI::EFT_KFREE},
	{"regmap_mmio_free_context", ExtAPI::EFT_KFREE},
	{"regulator_bulk_free", ExtAPI::EFT_KFREE},
	{"regulator_ena_gpio_free", ExtAPI::EFT_KFREE},
	{"relay_free_page_array", ExtAPI::EFT_KFREE},
	{"release_freepages", ExtAPI::EFT_KFREE},
	{"release_probes", ExtAPI::EFT_KFREE},
	{"remove_free_dquot", ExtAPI::EFT_KFREE},
	{"request_key_auth_free_preparse", ExtAPI::EFT_KFREE},
	{"ring_buffer_free", ExtAPI::EFT_KFREE},
	{"scsi_destroy_command_freelist", ExtAPI::EFT_KFREE},
	{"scsi_free_host_cmd_pool", ExtAPI::EFT_KFREE},
	{"scsi_free_host_dev", ExtAPI::EFT_KFREE},
	{"scsi_free_sgtable", ExtAPI::EFT_KFREE},
	{"scsi_mq_free_sgtables", ExtAPI::EFT_KFREE},
	{"scsi_setup_command_freelist", ExtAPI::EFT_KFREE},
	{"scsi_sg_free", ExtAPI::EFT_KFREE},
	{"security_cred_free", ExtAPI::EFT_KFREE},
	{"security_file_free", ExtAPI::EFT_KFREE},
	{"security_inode_free", ExtAPI::EFT_KFREE},
	{"security_key_free", ExtAPI::EFT_KFREE},
	{"security_msg_msg_free", ExtAPI::EFT_KFREE},
	{"security_msg_queue_free", ExtAPI::EFT_KFREE},
	{"security_sb_free", ExtAPI::EFT_KFREE},
	{"security_sem_free", ExtAPI::EFT_KFREE},
	{"security_shm_free", ExtAPI::EFT_KFREE},
	{"security_sk_free", ExtAPI::EFT_KFREE},
	{"security_task_free", ExtAPI::EFT_KFREE},
	{"security_tun_dev_free_security", ExtAPI::EFT_KFREE},
	{"sem_rcu_free", ExtAPI::EFT_KFREE},
	{"serio_free_event", ExtAPI::EFT_KFREE},
	{"set_buffer_freed", ExtAPI::EFT_KFREE},
	{"set_freepage_migratetype", ExtAPI::EFT_KFREE},
	{"sg_free_table", ExtAPI::EFT_KFREE},
	{"sg_kfree", ExtAPI::EFT_KFREE},
	{"shash_free_instance", ExtAPI::EFT_KFREE},
	{"shm_rcu_free", ExtAPI::EFT_KFREE},
	{"shmem_free_inode", ExtAPI::EFT_KFREE},
	{"sigqueue_free", ExtAPI::EFT_KFREE},
	{"simple_xattrs_free", ExtAPI::EFT_KFREE},
	{"skcipher_geniv_free", ExtAPI::EFT_KFREE},
	{"sp_free", ExtAPI::EFT_KFREE},
	{"split_free_page", ExtAPI::EFT_KFREE},
	{"swap_entry_free", ExtAPI::EFT_KFREE},
	{"task_numa_free", ExtAPI::EFT_KFREE},
	{"task_will_free_mem", ExtAPI::EFT_KFREE},
	{"taskstats_tgid_free", ExtAPI::EFT_KFREE},
	{"tce_free", ExtAPI::EFT_KFREE},
	{"testmgr_free_buf", ExtAPI::EFT_KFREE},
	{"tlb_flush_mmu_free", ExtAPI::EFT_KFREE},
	{"trace_ext4_free_blocks", ExtAPI::EFT_KFREE},
	{"trace_ext4_free_inode", ExtAPI::EFT_KFREE},
	{"trace_ext4_trim_all_free", ExtAPI::EFT_KFREE},
	{"trace_kfree", ExtAPI::EFT_KFREE},
	{"trace_kmem_cache_free", ExtAPI::EFT_KFREE},
	{"trace_mm_page_free", ExtAPI::EFT_KFREE},
	{"trace_mm_page_free_batched", ExtAPI::EFT_KFREE},
	{"trace_module_free", ExtAPI::EFT_KFREE},
	{"trace_sched_process_free", ExtAPI::EFT_KFREE},
	{"traceprobe_free_probe_arg", ExtAPI::EFT_KFREE},
	{"trigger_data_free", ExtAPI::EFT_KFREE},
	{"trusted_rcu_free", ExtAPI::EFT_KFREE},
	{"try_to_free_buffers", ExtAPI::EFT_KFREE},
	{"try_to_free_mem_cgroup_pages", ExtAPI::EFT_KFREE},
	{"try_to_free_pmd_page", ExtAPI::EFT_KFREE},
	{"try_to_free_pte_page", ExtAPI::EFT_KFREE},
	{"try_to_free_pud_page", ExtAPI::EFT_KFREE},
	{"try_to_free_swap", ExtAPI::EFT_KFREE},
	{"tty_buffer_free_all", ExtAPI::EFT_KFREE},
	{"tty_free_file", ExtAPI::EFT_KFREE},
	{"tty_free_termios", ExtAPI::EFT_KFREE},
	{"tty_port_free_xmit_buf", ExtAPI::EFT_KFREE},
	{"unusable_free_index", ExtAPI::EFT_KFREE},
	{"uprobe_free_utask", ExtAPI::EFT_KFREE},
	{"user_free_preparse", ExtAPI::EFT_KFREE},
	{"vb_free", ExtAPI::EFT_KFREE},
	{"vcs_poll_data_free", ExtAPI::EFT_KFREE},
	{"vfree", ExtAPI::EFT_KFREE},
	{"vp_free_vectors", ExtAPI::EFT_KFREE},
	{"x509_free_certificate", ExtAPI::EFT_KFREE},
	{"yama_task_free", ExtAPI::EFT_KFREE},
	{"zbud_free", ExtAPI::EFT_KFREE},
	{"zbud_zpool_free", ExtAPI::EFT_KFREE},
	{"zone_init_free_lists", ExtAPI::EFT_KFREE},
	{"zpool_free", ExtAPI::EFT_KFREE},
	{"zs_free", ExtAPI::EFT_KFREE},
	{"zs_zpool_free", ExtAPI::EFT_KFREE},
	{"zswap_entry_cache_free", ExtAPI::EFT_KFREE},
	{"zswap_free_entry", ExtAPI::EFT_KFREE},
	{"__mpol_put", ExtAPI::EFT_KFREE},
	{"__put_cred", ExtAPI::EFT_KFREE},
	{"fput", ExtAPI::EFT_KFREE},
	{"key_put", ExtAPI::EFT_KFREE},
	{"destroy_super", ExtAPI::EFT_KFREE},
	{"kobject_put", ExtAPI::EFT_KFREE},
	{"mmdrop", ExtAPI::EFT_KFREE},
	{"iput", ExtAPI::EFT_KFREE},
	{"dput", ExtAPI::EFT_KFREE},
	{"clear_nlink", ExtAPI::EFT_KFREE},
	{"free_ldt_struct", ExtAPI::EFT_KFREE},
	{"abort_creds", ExtAPI::EFT_KFREE},
	{"put_group_info", ExtAPI::EFT_KFREE},
	{"put_super", ExtAPI::EFT_KFREE},

//    {"__list_del", ExtAPI::EFT_KDEL},
//    {"list_del", ExtAPI::EFT_KDEL},
//    {"fsnotify_destroy_marks", ExtAPI::EFT_KDEL},
//    {"unqueue_me", ExtAPI::EFT_KDEL},
//    {"unqueue_me_pi", ExtAPI::EFT_KDEL},
//    {"finish_wait", ExtAPI::EFT_KDEL},

	{"__rawmemchr", ExtAPI::EFT_L_A0},
	{"cairo_surface_reference", ExtAPI::EFT_L_A0},
	{"dlsym", ExtAPI::EFT_L_A0},
	{"fgets", ExtAPI::EFT_L_A0},
	{"jpeg_std_error", ExtAPI::EFT_L_A0},
	{"memchr", ExtAPI::EFT_L_A0},
	//This will overwrite *arg0 with non-pointer data -
	//  assume that no valid pointer values are created.
	{"memset", ExtAPI::EFT_L_A0},
	//This may return a new ptr if the region was moved.
	{"mremap", ExtAPI::EFT_L_A0},
	{"stpcpy", ExtAPI::EFT_L_A0},
	{"__strcpy_chk", ExtAPI::EFT_L_A0},
	{"strcat", ExtAPI::EFT_L_A0},
	{"__strcat_chk", ExtAPI::EFT_L_A0},
	{"strchr", ExtAPI::EFT_L_A0},
	{"strcpy", ExtAPI::EFT_L_A0},
	{"strerror_r", ExtAPI::EFT_L_A0},
	{"strncat", ExtAPI::EFT_L_A0},
	{"strncpy", ExtAPI::EFT_L_A0},
	{"strpbrk", ExtAPI::EFT_L_A0},
	{"strptime", ExtAPI::EFT_L_A0},
	{"strrchr", ExtAPI::EFT_L_A0},
	{"strstr", ExtAPI::EFT_L_A0},
	{"tmpnam_r", ExtAPI::EFT_L_A0},
	{"asctime_r", ExtAPI::EFT_L_A1},
	{"bsearch", ExtAPI::EFT_L_A1},
	{"getmntent_r", ExtAPI::EFT_L_A1},
	{"gmtime_r", ExtAPI::EFT_L_A1},
	{"gzgets", ExtAPI::EFT_L_A1},
	{"localtime_r", ExtAPI::EFT_L_A1},
	{"realpath", ExtAPI::EFT_L_A1},
	{"\01freopen64", ExtAPI::EFT_L_A2},
	//FIXME: may do L_A3 if arg5 > 0.
	{"_XGetAsyncReply", ExtAPI::EFT_L_A2},
	{"freopen", ExtAPI::EFT_L_A2},
	{"freopen64", ExtAPI::EFT_L_A2},
	{"inet_ntop", ExtAPI::EFT_L_A2},
	{"XGetSubImage", ExtAPI::EFT_L_A8},

	{"llvm.memcpy", ExtAPI::EFT_L_A0__A0R_A1R},
	{"llvm.memcpy.p0i8.p0i8.i32", ExtAPI::EFT_L_A0__A0R_A1R},
	{"llvm.memcpy.p0i8.p0i8.i64", ExtAPI::EFT_L_A0__A0R_A1R},
	{"llvm.memmove", ExtAPI::EFT_L_A0__A0R_A1R},
	{"memccpy", ExtAPI::EFT_L_A0__A0R_A1R},
	{"memcpy", ExtAPI::EFT_L_A0__A0R_A1R},
	{"memmove", ExtAPI::EFT_L_A0__A0R_A1R},
	{"bcopy", ExtAPI::EFT_A1R_A0R},
	{"iconv", ExtAPI::EFT_A3R_A1R_NS},

	{"strtod", ExtAPI::EFT_A1R_A0},
	{"strtof", ExtAPI::EFT_A1R_A0},
	{"strtol", ExtAPI::EFT_A1R_A0},
	{"strtold", ExtAPI::EFT_A1R_A0},
	{"strtoll", ExtAPI::EFT_A1R_A0},
	{"strtoul", ExtAPI::EFT_A1R_A0},
	{"readdir_r", ExtAPI::EFT_A2R_A1},
	//These also set arg1->pw_name etc. to new strings.
	{"getpwnam_r", ExtAPI::EFT_A4R_A1},
	{"getpwuid_r", ExtAPI::EFT_A4R_A1},

	{"db_create", ExtAPI::EFT_A0R_NEW},
	{"gcry_mpi_scan", ExtAPI::EFT_A0R_NEW},
	{"gcry_pk_decrypt", ExtAPI::EFT_A0R_NEW},
	{"gcry_sexp_build", ExtAPI::EFT_A0R_NEW},
	{"gnutls_pkcs12_bag_init", ExtAPI::EFT_A0R_NEW},
	{"gnutls_pkcs12_init", ExtAPI::EFT_A0R_NEW},
	{"gnutls_x509_crt_init", ExtAPI::EFT_A0R_NEW},
	{"gnutls_x509_privkey_init", ExtAPI::EFT_A0R_NEW},
	{"posix_memalign", ExtAPI::EFT_A0R_NEW},
	{"scandir", ExtAPI::EFT_A1R_NEW},
	{"XGetRGBColormaps", ExtAPI::EFT_A2R_NEW},
	{"XmbTextPropertyToTextList", ExtAPI::EFT_A2R_NEW},
	{"XQueryTree", ExtAPI::EFT_A4R_NEW},
	{"XGetWindowProperty", ExtAPI::EFT_A11R_NEW},

	{"spin_lock", ExtAPI::EFT_KLOCK},
	{"spin_lock_bh", ExtAPI::EFT_KLOCK},
	{"spin_lock_irqrestore", ExtAPI::EFT_KLOCK},
	{"spin_lock_irqsave", ExtAPI::EFT_KLOCK},
	{"raw_spin_lock", ExtAPI::EFT_KLOCK},
	{"_raw_spin_lock", ExtAPI::EFT_KLOCK},
	{"__raw_spin_lock", ExtAPI::EFT_KLOCK},
	{"raw_spin_lock_irqsave", ExtAPI::EFT_KLOCK},
	{"_raw_spin_lock_irqsave", ExtAPI::EFT_KLOCK},
	{"raw_spin_lock_irqrestore", ExtAPI::EFT_KLOCK},
	{"mutex_lock", ExtAPI::EFT_KLOCK},
	{"read_lock", ExtAPI::EFT_KLOCK},

	{"spin_unlock", ExtAPI::EFT_KUNLOCK},
	{"spin_unlock_bh", ExtAPI::EFT_KUNLOCK},
	{"spin_unlock_irqrestore", ExtAPI::EFT_KUNLOCK},
	{"raw_spin_unlock", ExtAPI::EFT_KUNLOCK},
	{"_raw_spin_unlock", ExtAPI::EFT_KUNLOCK},
	{"__raw_spin_unlock", ExtAPI::EFT_KUNLOCK},
	{"raw_spin_unlock_irqrestore", ExtAPI::EFT_KUNLOCK},
	{"mutex_unlock", ExtAPI::EFT_KUNLOCK},
	{"read_unlock", ExtAPI::EFT_KUNLOCK},
	{"spin_unlock_irqsave", ExtAPI::EFT_KUNLOCK},
	{"raw_spin_unlock_irqsave", ExtAPI::EFT_KUNLOCK},
	{"_raw_spin_unlock_irqsave", ExtAPI::EFT_KUNLOCK},

	//This must be the last entry.
	{0, ExtAPI::EFT_NOOP}
};

/*  FIXME:
 *  SSL_CTX_ctrl, SSL_ctrl - may set the ptr field arg0->x
 *  SSL_CTX_set_verify - sets the function ptr field arg0->x
 *  X509_STORE_CTX_get_current_cert - returns arg0->x
 *  X509_get_subject_name - returns arg0->x->y
 *  XStringListToTextProperty, XGetWindowAttributes - sets arg2->x
 *  XInitImage - sets function ptrs arg0->x->y
 *  XMatchVisualInfo - sets arg4->x
 *  XtGetApplicationResources - ???
 *  glob - sets arg3->gl_pathv
 *  gnutls_pkcs12_bag_get_data - copies arg0->element[arg1].data to *arg2
 *  gnutls_pkcs12_get_bag - finds the arg1'th bag in the ASN1 tree structure
 *    rooted at arg0->pkcs12 and copies it to *arg2
 *  gnutls_pkcs12_import - builds an ASN1 tree rooted at arg0->pkcs12,
 *    based on decrypted data
 *  gnutls_x509_crt_import - builds an ASN1 tree rooted at arg0->cert
 *  gnutls_x509_privkey_export_rsa_raw - points arg1->data thru arg6->data
 *    to new strings
 *  gnutls_x509_privkey_import, gnutls_x509_privkey_import_pkcs8 -
 *    builds an ASN1 tree rooted at arg0->key from decrypted data
 *  cairo_get_target - returns arg0->gstate->original_target
 *  hasmntopt - returns arg0->mnt_opts
 */


void ExtAPI::init() {
	set<extf_t> t_seen;
	extf_t prev_t= EFT_NOOP;
	t_seen.insert(EFT_NOOP);
	for(const ei_pair *p= ei_pairs; p->n; ++p) {
		if(p->t != prev_t) {
			//This will detect if you move an entry to another block
			//  but forget to change the type.
			if(t_seen.count(p->t)) {
				fputs(p->n, stderr);
				putc('\n', stderr);
				assert(!"ei_pairs not grouped by type");
			}
			t_seen.insert(p->t);
			prev_t= p->t;
		}
		if(info.count(p->n)) {
			fputs(p->n, stderr);
			putc('\n', stderr);
			assert(!"duplicate name in ei_pairs");
		}
		info[p->n]= p->t;
	}
}

